public async Task <ApiResponse <DailyReport> > SaveDailyReport(DailyReportDTO dailyReport) { ApiResponse <DailyReport> result = new ApiResponse <DailyReport>(); try { DailyReport report = new DailyReport(); report.ReportDate = dailyReport.ReportDate; report.TotalAmountOfServicesCost = dailyReport.TotalAmountOfServicesCost; report.TotalNumberOfBarbersSignedIn = dailyReport.TotalNumberOfBarbersSignedIn; report.TotalNumberOfCustomers = dailyReport.TotalNumberOfCustomers; report.AverageCustomerWaitingTimeInMinutes = dailyReport.AverageCustomerWaitingTimeInMinutes; var CreatedReport = await unitOfWork.DailyReportsManager.CreateAsync(report); result.Data = report; result.Succeeded = true; return(result); } catch (Exception ex) { result.Succeeded = false; result.Errors.Add(ex.Message); return(result); } }
public DailyReportDTO GetDailyReport(DateTime date) { _date = date; DailyReportDTO dR = new DailyReportDTO(); dR.Date = date; SearchParam p = new SearchParam(); p.SearchWithDate = true; p.From = date; p.To = date.AddDays(1); List <Item> items = _itemService.AllActiveItems(); _histories = _historyService.SearchHistories(p); _previousHistories = _historyService.GetItemsHistoryFromOtherPreviousDays(_date); _nextHistories = _historyService.GetItemsHistoryAfterThisDate(_date); foreach (var i in items) { DailyItem d = CreateRow(i); _perDays.Add(d); } dR.Records = _perDays; return(dR); }
public DailyReportDTO GetDailyReport(DateTime startdate, DateTime enddate) { var query = from days in _db.Tracks where (days.Date >= startdate.Date && days.Date <= enddate) select days; var querylist = new List <Track>(); foreach (var item in query) { querylist.Add(item); } var dataDTO = Mapper.Map <List <DailyReportDTO> >(querylist); var result = new DailyReportDTO() { TotalDistance = dataDTO.Sum(o => o.TotalDistance), TotalPrice = dataDTO.Sum(o => o.TotalPrice), DrivesCount = dataDTO.Count() }; return(result); }
public virtual async Task <DailyReportDTO> UpsertDailyReportAsync(int customerId, DateTime reportDate) { var consumedDishes = await _consumedDishRepository.GetItemsAsync(d => d.UserId == customerId && d.DateOfConsume == reportDate); var report = new DailyReportDTO() { ReportDate = reportDate }; if (consumedDishes.Any()) { var dbReport = (await _reportRepository.GetItemsAsync( i => i.UserId == customerId && i.ReportDate == reportDate, null, "User")) .FirstOrDefault(); dbReport ??= new DailyReport { UserId = customerId, ReportDate = reportDate }; _calculationService.CalculateDailyAmount(consumedDishes, dbReport); _dietService.ValidateDailyReport(dbReport); var result = 0; if (dbReport.Id > 0) { result = await _reportRepository.UpdateItemAsync(dbReport); } else { result = await _reportRepository.AddItemAsync(dbReport); var customer = (result > 0) ? await _userRepository.GetItemAsync(customerId) : null; dbReport.User = (result > 0) ? new User() { Name = customer.Name, Surname = customer.Surname } : null; } if (result > 0 || dbReport.Id != 0) { report = _mapper.Map <DailyReportDTO>(dbReport); } } else { report.HasWarnings = true; report.Warnings = "There are no consume data for daily report!"; } return(report); }
public async Task <IActionResult> SaveDailyReport(DailyReportDTO dailyReport) { return(await AddItemResponseHandler(async() => await service.SaveDailyReport(dailyReport))); }
public DailyReportDetailsMaker(XLWorkbook wb, DailyReportDTO dto) { _wb = wb; _dto = dto; }
public DailyReporter(DailyReportDTO dailyReport, string path) { _dailyReport = dailyReport; _path = path; }