public ICollection <ExpiryDateViewModel> getExpiryDateViewModels() { var expiryDates = _stockInformations.GroupBy(s => new { s.ExpiryDate }).Select(s => s.Key.ExpiryDate).ToList(); var result = new Collection <ExpiryDateViewModel>(); ICollection <StockInformation> availableStock; foreach (var expiryDate in expiryDates) { availableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, _requestDetail.ActivityGroup, _requestDetail.Manufacturer, _requestDetail.physicalStore, expiryDate); result.Add( new ExpiryDateViewModel() { Value = expiryDate, Text = string.Format("{0: dd/M/yyyy}", expiryDate), DaysAgo = expiryDate == null? "-" : ((DateTime)expiryDate).TimeAgo(), Quantity = availableStock.Sum(s => s.Quantity) }) ; } availableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, _requestDetail.ActivityGroup, _requestDetail.Manufacturer, _requestDetail.physicalStore, null); result.Add(new ExpiryDateViewModel() { Value = null, Text = "No Preferences", Quantity = availableStock.Select(s => s.Quantity).Sum() }); return(result.Where(r => r.Quantity > 0).ToList()); }
public ICollection <ManufacturerViewModel> getManufacturerViewModels() { var manufacturers = _stockInformations.GroupBy(s => new { s.Manufacturer }).Select(s => s.Key.Manufacturer).ToList(); var result = new Collection <ManufacturerViewModel>(); foreach (var manufacturer in manufacturers) { var availableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, _requestDetail.ActivityGroup, manufacturer, _requestDetail.physicalStore, ExpiryDate); result.Add(new ManufacturerViewModel() { ManufacturerID = manufacturer.ManufacturerID, Name = manufacturer.Name, CountryOfOrigin = manufacturer.CountryOfOrigin, Quantity = availableStock.Sum(s => s.Quantity) }) ; } var noPAvailableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, _requestDetail.ActivityGroup, null, _requestDetail.physicalStore, ExpiryDate); result.Add(new ManufacturerViewModel() { ManufacturerID = 0, Name = "No Preferences", Quantity = noPAvailableStock.Sum(s => s.Quantity) }); return(result.Where(r => r.Quantity > 0).ToList()); }
public ICollection <PhysicalStoreViewModel> getPhysicalStoreViewModels() { var physicalStores = _stockInformations.GroupBy(s => new { s.PhysicalStore }).Select(s => s.Key.PhysicalStore).ToList(); var result = new Collection <PhysicalStoreViewModel>(); ICollection <StockInformation> availableStock; foreach (var physicalStore in physicalStores) { availableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, _requestDetail.ActivityGroup, _requestDetail.Manufacturer, physicalStore, ExpiryDate); result.Add(new PhysicalStoreViewModel { PhysicalStoreID = physicalStore.PhysicalStoreID, Name = physicalStore.Name, Quantity = availableStock.Sum(s => s.Quantity) }); } availableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, _requestDetail.ActivityGroup, _requestDetail.Manufacturer, null, ExpiryDate); result.Add(new PhysicalStoreViewModel() { PhysicalStoreID = 0, Name = "No Preferences", Quantity = availableStock.Sum(s => s.Quantity) }); return(result.Where(r => r.Quantity > 0).ToList()); }
public ICollection <ActivityViewModel> getActivityViewModels() { var activities = _stockInformations.GroupBy(s => new { s.Activity }).Select(s => s.Key.Activity).ToList(); var result = new Collection <ActivityViewModel>(); foreach (var activity in activities) { var availableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, activity, _requestDetail.Manufacturer, _requestDetail.physicalStore, ExpiryDate); result.Add(new ActivityViewModel() { ActivityID = activity.ActivityGroupID, Name = activity.Name, IsDeliveryNote = activity.IsDeliveryNote, Quantity = availableStock.Sum(s => s.Quantity) }); } var noPAvailableStock = PreferenceCalculator.GetAvailableStock(_stockInformations, _approvedDetails, null, _requestDetail.Manufacturer, _requestDetail.physicalStore, ExpiryDate); result.Add(new ActivityViewModel() { ActivityID = "0", Name = "All Activities", IsDeliveryNote = false, Quantity = noPAvailableStock.Sum(s => s.Quantity) }); return(result.Where(r => r.Quantity > 0).ToList()); }