public async Task <IActionResult> SumGatesByAccount(int id) { var email = HttpContext.User.Identity.Name; var request = new SumGatesByAccount { AccountId = id, RequestedEmail = email }; var result = await _mediator.Send(request); return(StatusCodeResult(result)); }
public async Task <Result <int> > Handle(SumGatesByAccount request, CancellationToken cancellationToken) { try { if (!IsAdminOrAccountAdmin(request.RequestedEmail, request.AccountId)) { return(Result <int> .AccessDenied("No access!")); } var result = await _gateRepository.GetSumOfGatesByAccountId(request.AccountId); return(Result <int> .Ok(result)); } catch (Exception e) { return(Result <int> .Failure(e.Message)); } }