public async Task <IEnumerable <BudgetReport> > Handle(GetBudgetReportQuery request, CancellationToken cancellationToken)
        {
            IEnumerable <BudgetReport> report;

            //todo January = 0 from API, this could be done in front-end or back-end
            request.Month++;
            switch (request.ReportType)
            {
            case BudgetReportEnum.CategoryReport:
                report = await GetCategoryBudgetReport(request.Month, request.Year, request.UserId);

                // report.ReportType = BudgetReportEnum.CategoryReport;
                break;

            case BudgetReportEnum.AccountReport:
                report = await GetAccountBudgetReport(request.Month, request.Year, request.UserId);

                // report.ReportType = BudgetReportEnum.AccountReport;
                break;

            default: report = null;
                break;
            }

            return(report);
        }
示例#2
0
        public async Task <IActionResult> GetBudgetReport(GetBudgetReportQuery request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("All are parameters required"));
            }

            var report = await _mediator.Send(request);

            if (report == null)
            {
                return(NotFound());
            }

            return(Ok(report));
        }