public MilkForUtilizationtModel GetComputedRecordForAdd(DateTime date) { try { double milkDelivered = 0.0; double totalMilkForUtilization = 0.0; double beginningBalance = 0.0; // ordered by date var obj = this.GetComputedList().FirstOrDefault(); var model = new MilkForUtilizationtModel(); beginningBalance = obj.EndingVolumeBalance; using (var uow = new UnitOfWork(new DataContext())) { //get milk collections by current loop date var finalMilkCollections = uow.MilkCollections.GetAllBy(date).GroupBy(x => x.ActualDate).Select(y => new { TotalVolume = y.Sum(z => z.Volume) }); if (finalMilkCollections.Count() != 0) { milkDelivered = finalMilkCollections.FirstOrDefault().TotalVolume; } totalMilkForUtilization = beginningBalance + milkDelivered; } model.BeginningBalance = beginningBalance; model.TotalMilkDeliveredByFarmers = milkDelivered; model.TotalMilkForUtilization = totalMilkForUtilization; return(model); } catch (Exception) { throw; } }
public MilkForUtilizationtModel GetMilkForUtilization(DateTime date) { try { double milkDelivered = 0.0; double totalMilkForUtilization = 0.0; double beginningBalance = 0.0; //this.GetComputedList2(); var computedList = this.GetComputedList2(); //yesterday record var beginningBalanceRecord = computedList.Where(r => r.ActualDate.Date < date.Date) .OrderByDescending(r => r.ActualDate).Select(r => new { EndingBalance = r.EndingVolumeBalance, Date = r.ActualDate, MilkCollection = r.MilkDeliveredByFarmers }); // today record var currentBalanceRecord = computedList.Where(r => r.ActualDate.Date == date.Date) .Select(r => new { EndingBalance = r.EndingVolumeBalance, Date = r.ActualDate, MilkCollection = r.MilkDeliveredByFarmers }); //check if list contains elements if (beginningBalanceRecord.Count() > 0) { beginningBalance = beginningBalanceRecord.FirstOrDefault().EndingBalance; } if (currentBalanceRecord.Count() > 0) { milkDelivered = currentBalanceRecord.FirstOrDefault().MilkCollection; } // get total milk for utilization // add values totalMilkForUtilization = beginningBalance + milkDelivered; // create new model then return it var model = new MilkForUtilizationtModel(); model.BeginningBalance = beginningBalance; model.TotalMilkDeliveredByFarmers = milkDelivered; model.TotalMilkForUtilization = totalMilkForUtilization; return(model); } catch (Exception) { throw; } }