public override async Task <bool> AfterValidation(UpdateClienteCommand request) { var cliente = await _clienteMongoRepository.GetOneAsync(x => x.Id == request.Id); if (cliente == null) { NotifyError($"O registro com o código {request.Id} não existe"); return(false); } cliente.SetNome(request.Nome); cliente.SetIdade(request.Idade); cliente.AtualizarDataAlteracao(); await _clienteSqlServerRepository.InsertOrUpdateAsync(cliente); if (!HasNotification() && _unitOfWork.CommitAsync().Result) { await _mediator.RaiseEvent(new UpdatedClienteEvent(cliente)); return(true); } else { NotifyError("Commit", "Tivemos um problema ao tentar salvar seus dados."); return(false); } }
public override async Task <bool> AfterValidation(AddClienteCommand request) { var registered = await _clienteSqlServerRepository .ExistsByExpressionAsync(x => x.Email == request.Email); if (registered) { NotifyError("O registro já existe"); return(false); } Cliente cliente = new Cliente(); cliente.SetId(Guid.NewGuid()); cliente.SetNome(request.Nome); cliente.SetEmail(request.Email); cliente.SetIdade(request.Idade); cliente.SetSenha(request.Senha.GetSha1Hash()); await _clienteSqlServerRepository.InsertOrUpdateAsync(cliente); if (!HasNotification() && _unitOfWork.CommitAsync().Result) { await _mediator.RaiseEvent(new AddedClienteEvent(cliente)); return(true); } else { NotifyError("Commit", "Tivemos um problema ao tentar salvar seus dados."); return(false); } }