예제 #1
0
        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));
        }
예제 #2
0
        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));
            }
        }