Files
GerbilManager/GerbilManagerWebAPI/Repositories/InMemGerbilRepository.cs
2023-10-21 14:23:54 +02:00

40 lines
1.3 KiB
C#

using GerbilManagerWebAPI.Models;
namespace GerbilManagerWebAPI.Repositories
{
public class InMemGerbilRepository : IGerbilRepository
{
private readonly List<Gerbil> _gerbilList = new()
{
new Gerbil() {Id = Guid.NewGuid(), Name = "Blacky", Breeder = null, Litter = null, Gender = Gender.unknown},
new Gerbil() {Id = Guid.NewGuid(), Name = "Coocky", Breeder = null, Litter = null, Gender = Gender.male},
new Gerbil() {Id = Guid.NewGuid(), Name = "Lazy", Breeder = null, Litter = null, Gender = Gender.female}
};
public IEnumerable<Gerbil> GetGerbils()
{
return _gerbilList;
}
public Gerbil GetGerbil(Guid id) => _gerbilList.SingleOrDefault(x => x.Id == id);
public void CreateGerbil(Gerbil gerbil)
{
_gerbilList.Add(gerbil);
}
public void UpdateGerbil(Gerbil gerbil)
{
var index = this._gerbilList.FindIndex(existingGerbil => existingGerbil.Id == gerbil.Id);
_gerbilList[index] = gerbil;
}
public void DeleteGerbil(Gerbil gerbil)
{
var index = this._gerbilList.FindIndex(existingGerbil => existingGerbil.Id == gerbil.Id);
_gerbilList.RemoveAt(index);
}
}
}