public Task <List <DataChartResponse> > Handle(GetTicketsSeverityChartQuery request, CancellationToken cancellationToken)
        {
            try
            {
                var tickets         = _dbContext.Tickets.ToList();
                var lowTickets      = tickets.Where(t => t.Severity.Equals(TicketSeverity.Low)).Count();
                var mediumTickets   = tickets.Where(t => t.Severity.Equals(TicketSeverity.Medium)).Count();
                var highTickets     = tickets.Where(t => t.Severity.Equals(TicketSeverity.High)).Count();
                var criticalTickets = tickets.Where(t => t.Severity.Equals(TicketSeverity.Critical)).Count();

                return(Task.FromResult(new List <DataChartResponse>
                {
                    new DataChartResponse {
                        Name = TicketSeverity.Low, Value = lowTickets
                    },
                    new DataChartResponse {
                        Name = TicketSeverity.Medium, Value = mediumTickets
                    },
                    new DataChartResponse {
                        Name = TicketSeverity.High, Value = highTickets
                    },
                    new DataChartResponse {
                        Name = TicketSeverity.Critical, Value = criticalTickets
                    }
                }));
            }
            catch (Exception ex)
            {
                throw new Exception("There was an error getting the tickets with severity field for chart", ex);
            }
        }
예제 #2
0
        public async Task <IActionResult> GetTicketsSeverity([FromQuery] GetTicketsSeverityChartQuery ticket)
        {
            var result = await Mediator.Send(ticket);

            return(Ok(result));
        }