public static UpdateAccountCommand ToUpdateAccountCommand(this UpdateAccountRequestModel request, int accountId) { if (request is null) { return(null); } return(new UpdateAccountCommand() { AccountId = accountId, Sum = request.Sum, Type = request.Type }); }
public async Task <ActionResult> UpdateAccountAsync(int id, UpdateAccountRequestModel request, CancellationToken cancellationToken) { _logger.LogInformation("Call made to UpdateAccountAsync."); if (!request.Sum.HasValue && !request.Type.HasValue) { return(BadRequest("Please enter at least one valid parameter.")); } var command = request.ToUpdateAccountCommand(id); await _mediator.Send(command, cancellationToken); return(Ok()); }
public async Task <ActionResult> UpdateAccountAsync([FromBody] UpdateAccountRequestModel accountModel) { if (!Guid.TryParse(accountModel.Id, out var accountId)) { return(BadRequest()); } var account = await _accountRepository.FindOrDefaultAsync(accountId); if (account == null) { return(NotFound(new { Message = $"Store with id {accountModel.Id} not found." })); } account.Update(accountModel.AccountNo, accountModel.AccountName); _accountRepository.Update(account); await _accountRepository.UnitOfWork.SaveChangesAsync(); return(CreatedAtAction(nameof(GetByIdAsync), new { id = account.Id }, null)); }