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));
        }
Esempio n. 3
0
        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);
        }