public async Task <Response> Handle(Query request, CancellationToken cancellationToken) { if (!await _accessControlService.HasBudgetAccessAsync(request.BudgetId)) { throw new NotFoundException(Localization.For(() => ErrorMessages.BudgetNotFound)); } var balance = await _balanceService.GetBudgetBalance(request.BudgetId, cancellationToken); return(new Response() { Data = _mapper.Map <BudgetBalanceDto>(balance) }); }