internal Keg AttachEntities(Keg kegItem) { if (kegItem != null && kegItem.kegSizeId != null) { var kegSize = KegSizes.Find(ks => ks.id == kegItem.kegSizeId).FirstOrDefault(); kegItem.kegSize = kegSize; } if (kegItem != null && kegItem.beerId != null) { var beer = Beers.Find(b => b.id == kegItem.beerId).FirstOrDefault(); beer = AttachEntities(beer); kegItem.beer = beer; } return(kegItem); }
internal IEnumerable <Keg> AttachEntities(IEnumerable <Keg> kegList) { //Load KegSizes var kegSizeIdsToLoad = kegList.Select(k => k.kegSizeId).Distinct().ToList(); var kegSizes = KegSizes.Find(ks => kegSizeIdsToLoad.Contains(ks.id)).ToList(); //Load Beers var beerIdsToLoad = kegList.Select(k => k.beerId).Distinct().ToList(); var beers = Beers.Find(b => beerIdsToLoad.Contains(b.id)).ToList(); beers = AttachEntities(beers).ToList(); kegList.ToList().ForEach(k => { if (k.beerId != null) { var beer = beers.FirstOrDefault(b => b.id == k.beerId); k.beer = beer; } if (k.kegSizeId != null) { k.kegSize = kegSizes.FirstOrDefault(ks => ks.id == k.kegSizeId); } }); return(kegList); }
public KegSize Update(KegSize item) { //UpdateOne if need performance KegSizes.ReplaceOne(b => b.id == item.id, item); return(item); }
public KegSize GetById(string id) { var KegSizeItem = KegSizes.Find(b => b.id == id).FirstOrDefault(); return(KegSizeItem); }
public IEnumerable <KegSize> GetAll() { var KegSizeList = KegSizes.Find(b => true).ToList(); return(KegSizeList); }
public string Delete(KegSize item) { KegSizes.DeleteOne(b => b.id == item.id); return(item.id); }
public KegSize Create(KegSize item) { item.id = Guid.NewGuid().ToString(); KegSizes.InsertOne(item); return(item); }