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)); }
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); }
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)); } }
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))); }