Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        public override async Task <bool> AfterValidation(RemoveClienteCommand 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);
            }

            await _clienteSqlServerRepository.DeleteByIdAsync(cliente.Id);

            if (!HasNotification() && _unitOfWork.CommitAsync().Result)
            {
                await _mediator.RaiseEvent(new RemovedClienteEvent(cliente));

                return(true);
            }
            else
            {
                NotifyError("Commit", "Tivemos um problema ao tentar salvar seus dados.");
                return(false);
            }
        }
Beispiel #3
0
 public override async Task <Cliente> AfterValidation(GetClienteQuery request)
 {
     return(await _clienteMongoRepository.GetOneAsync(x => x.Id == request.Id));
 }