private ICollection <StoreVM> InitializeStoresVM() { ICollection <Store> stores = _storeService.GetAll(); ICollection <StoreItem> storeItems = _storeItemService.GetAll(); ICollection <StoreVM> _stores = new List <StoreVM>(); foreach (Store s in stores) { ICollection <StoreItem> st = FindStoreItemsForStore(storeItems, s.Id); ICollection <ItemVM> itemsOfStore = new List <ItemVM>(); foreach (StoreItem stItem in st) { itemsOfStore.Add(_itemsMapper.GetItemByStoreItemId(stItem.Id)); } _stores.Add(ConvertToStoreVM(s, itemsOfStore)); } return(_stores); }
public ActionResult Inventory() { ItemIndexModel model = new ItemIndexModel(); model.StoreItems = _storeItemService.GetAll().ToList(); var modelledItemList = model.StoreItems.Where(x => !x.Usage).Select(x => new ItemInventoryModel { ItemId = x.ItemId, ItemName = x.StockItemHotel.Name, Quantity = x.Quantity, QuantityUsed = 0 }).ToList(); var modelledItemListUsed = model.StoreItems.Where(x => x.Usage).Select(x => new ItemInventoryModel { ItemId = x.ItemId, ItemName = x.StockItemHotel.Name, Quantity = 0, QuantityUsed = x.Quantity }).ToList(); modelledItemList.AddRange(modelledItemListUsed); model.ModelledItemList = modelledItemList.GroupBy(x => x.ItemName).Select(x => new ItemInventoryGroupModel { Name = x.Key, Remaining = (x.Sum(y => y.Quantity) - x.Sum(y => y.QuantityUsed)), Delivered = x.Sum(y => y.Quantity), ItemUsage = x.Sum(y => y.QuantityUsed) }).ToList(); return(View(model)); }