示例#1
0
        public Task <bool> Handle(AtualizarEnderecoCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.FromResult(false));
            }

            var cliente = _clienteRepository.GetById(message.ClienteId);

            if (cliente == null)
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "Cliente não cadastrado.", message));
                return(Task.FromResult(false));
            }

            var clienteEndereco = _clienteEnderecoRepository.GetById(message.EnderecoId);

            if (clienteEndereco != null)
            {
                clienteEndereco.Update(message.Cep, message.Logradouro, message.Numero, message.Complemento,
                                       message.Bairro, message.Cidade, message.Estado, message.ComprovanteBase64);

                _clienteEnderecoRepository.Update(clienteEndereco);

                if (Commit())
                {
                }

                return(Task.FromResult(true));
            }

            _bus.RaiseEvent(new DomainNotification(message.MessageType, "Endereço não encontrado.", message));
            return(Task.FromResult(false));
        }
示例#2
0
        public void AtualizarEndereco(Guid clienteId, Guid enderecoId, string cep, string logradouro, int numero, string complemento,
                                      string bairro, string cidade, string estado, string comprovanteBase64)
        {
            var atualizarEnderecoCommand = new AtualizarEnderecoCommand(clienteId, enderecoId, cep, logradouro, numero, complemento,
                                                                        bairro, cidade, estado, comprovanteBase64);

            _bus.SendCommand(atualizarEnderecoCommand);
        }
示例#3
0
        public void Handle(AtualizarEnderecoCommand cmd)
        {
            var endereco = EnderecoExistente(cmd.Id, cmd.MessageType);

            if (endereco == null)
            {
                return;
            }

            endereco.AtualizarEndereco(cmd.Logradouro, cmd.Numero, cmd.Complemento, cmd.Cep, cmd.Bairro, cmd.CidadeId);

            if (!endereco.IsValid())
            {
                NotificarValidacoesErro(endereco.ValidationResult);
                return;
            }

            _eventoRepository.AlterarEndereco(endereco);

            if (Commit())
            {
                _mediator.PublicarEvento(new EnderecoEventoAtualizadoEvent(endereco.Id, endereco.Logradouro, endereco.Numero, endereco.Complemento, endereco.Cep, endereco.Bairro));
            }
        }
示例#4
0
 public async Task <ActionResult> PutEndereco([FromRoute] Guid codigo, [FromRoute] Guid codigoEndereco, AtualizarEnderecoCommand command)
 {
     command.Codigo        = codigoEndereco;
     command.CodigoCliente = codigo;
     return(RespostaCasoDeUso(await _mediator.Send(command)));
 }