public EarningsOfCompletedServices Get(CompletedServicesSearchByDateRequest req) { var entityServicesList = _context.Services.Where(s => s.CarServiceID == req.carServiceID).ToList(); var model = new Data.Model.EarningsOfCompletedServices(); model.servicesList = new List <Data.Model.EarningsOfCompletedServices.Service>(); foreach (var x in entityServicesList) { model.servicesList.Add(new Data.Model.EarningsOfCompletedServices.Service() { serviceID = x.ServiceID, ServiceName = x.ServiceName, Earnings = 0 }); } var entitySchedulesList = _context.Schedules.Include(s => s.Request).Where(s => s.DateofSchedule >= req.DateFrom && s.DateofSchedule <= req.DateTo && s.ScheduleStatusID == 2 && s.Request.CarServiceID == req.carServiceID).ToList(); foreach (var s in entitySchedulesList) { var listScheduleServices = _context.requestServices.Include(r => r.Service).Where(r => r.RequestID == s.RequestID).ToList(); foreach (var l in listScheduleServices) { foreach (var serviceCheck in model.servicesList) { if (serviceCheck.serviceID == l.ServiceID) { serviceCheck.Earnings += l.Service.ServicePrice; } } } } var newModel = new Data.Model.EarningsOfCompletedServices(); newModel.servicesList = new List <Data.Model.EarningsOfCompletedServices.Service>(); foreach (var m in model.servicesList) { if (m.Earnings > 0) { newModel.servicesList.Add(new Data.Model.EarningsOfCompletedServices.Service() { serviceID = m.serviceID, ServiceName = m.ServiceName, Earnings = m.Earnings }); } } return(newModel); }
public Data.Model.EarningsOfCompletedServices Get([FromQuery] CompletedServicesSearchByDateRequest req) { return(_service.Get(req)); }