public Task <List <DataChartResponse> > Handle(GetTicketsStatusChartQuery request, CancellationToken cancellationToken) { try { var tickets = _dbContext.Tickets.ToList(); var newTickets = tickets.Where(t => t.Status.Equals(TicketStatus.New)).Count(); var developmentTickets = tickets.Where(t => t.Status.Equals(TicketStatus.Development)).Count(); var testingTickets = tickets.Where(t => t.Status.Equals(TicketStatus.Testing)).Count(); var doneTickets = tickets.Where(t => t.Status.Equals(TicketStatus.Done)).Count(); return(Task.FromResult(new List <DataChartResponse> { new DataChartResponse { Name = TicketStatus.New, Value = newTickets }, new DataChartResponse { Name = TicketStatus.Development, Value = developmentTickets }, new DataChartResponse { Name = TicketStatus.Testing, Value = testingTickets }, new DataChartResponse { Name = TicketStatus.Done, Value = doneTickets } })); } catch (Exception ex) { throw new Exception("There was an error getting the tickets with status field for chart", ex); } }
public async Task <IActionResult> GetTicketsStatus([FromQuery] GetTicketsStatusChartQuery ticket) { var result = await Mediator.Send(ticket); return(Ok(result)); }