public async Task <IActionResult> SumErrorsByAccount(int id) { var email = HttpContext.User.Identity.Name; var request = new SumErrorsByAccount { AccountId = id, RequestedEmail = email }; var result = await _mediator.Send(request); return(StatusCodeResult(result)); }
public async Task <Result <int> > Handle(SumErrorsByAccount request, CancellationToken cancellationToken) { try { if (!IsAdminOrAccountAdmin(request.RequestedEmail, request.AccountId)) { return(Result <int> .AccessDenied("No access!")); } var result = await _logService.GetAll(); var errorNum = result.Where(x => x.EventType.Name == "Error" && x.AccountId == request.AccountId).Count(); return(Result <int> .Ok(errorNum)); } catch (Exception e) { return(Result <int> .Failure(e.Message)); } }