/// <inheritdoc /> public override async Task <Response> Handle(Command command, CancellationToken cancellationToken) { var budgetEntity = Mapper.Map <Domain.Entities.Budget>(command); budgetEntity.OwnedByUserId = AuthenticationProvider.User.UserId; var savedBudget = await BudgetRepository.AddAsync(budgetEntity); var addedRows = await BudgetRepository.SaveChangesAsync(cancellationToken); if (addedRows.IsNullOrDefault()) { throw new SaveFailureException(nameof(budgetEntity), budgetEntity); } var dto = Mapper.Map <BudgetDto>(savedBudget); _ = _mediator.Publish(new Notification() { BudgetId = dto.BudgetId, }, cancellationToken); return(new Response() { Data = dto }); }