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); }
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)); }