public List <MonthCostDetailDto> getMonthCostDetails(RangeDateDto rangeDateDto) { var orders = _orderRepo.GetAll(); var result = new List <MonthCostDetailDto>(); for (var i = 1; i <= 12; i++) { MonthCostDetailDto m = new MonthCostDetailDto(); m.YearDate = rangeDateDto.ToDate.Year; m.MonthDate = i; m.Total = 0; result.Add(m); } foreach (SellingOrder s in orders) { if (s.InvoiceDate.Year != rangeDateDto.ToDate.Year) { continue; } for (var i = 1; i <= 12; i++) { if (s.InvoiceDate.Month == i) { result[i - 1].Total += s.Total; break; } } } return(result.ToList()); }
public ActionResult <SellingOrderDto> GetMonthCostDetails([FromBody] RangeDateDto rangeDate) { var monthCostDetails = _orderService.getMonthCostDetails(rangeDate); if (monthCostDetails == null) { List <string> errorMessage = new List <string>(); errorMessage.Add("Đã phát sinh lỗi, vui lòng thử lại"); return(BadRequest(new ResponseDto(errorMessage, 500, monthCostDetails))); } List <string> successMessage = new List <string>(); successMessage.Add("Lấy dữ liệu thành công"); var responseDto = new ResponseDto(successMessage, 200, monthCostDetails); return(Ok(responseDto)); }
public static RangeDateDto GetRangeDate(this WeekDto model) { var rangeDate = new RangeDateDto(); if (model != null) { switch (int.Parse(model.WeekNo)) { case 1: rangeDate.StratWeek = $"{model.YearNo}/{model.MonthNo}/01"; rangeDate.EndWeek = $"{model.YearNo}/{model.MonthNo}/07"; break; case 2: rangeDate.StratWeek = $"{model.YearNo}/{model.MonthNo}/08"; rangeDate.EndWeek = $"{model.YearNo}/{model.MonthNo}/14"; break; case 3: rangeDate.StratWeek = $"{model.YearNo}/{model.MonthNo}/15"; rangeDate.EndWeek = $"{model.YearNo}/{model.MonthNo}/21"; break; case 4: rangeDate.StratWeek = $"{model.YearNo}/{model.MonthNo}/22"; rangeDate.EndWeek = $"{model.YearNo}/{model.MonthNo}/27"; break; case 5: rangeDate.StratWeek = $"{model.YearNo}/{model.MonthNo}/28"; rangeDate.EndWeek = $"{model.YearNo}/{model.MonthNo}/31"; break; default: rangeDate.StratWeek = $"{model.YearNo}/{model.MonthNo}/01"; rangeDate.EndWeek = $"{model.YearNo}/{model.MonthNo}/07"; break; } } return(rangeDate); }