public Task <bool> Handle(CadastrarEnderecoCommand 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 = new ClienteEndereco(Guid.NewGuid(), message.Cep, message.Logradouro, message.Numero, message.Complemento, message.Bairro, message.Cidade, message.Estado, message.ComprovanteBase64, message.ClienteId); _clienteEnderecoRepository.Add(clienteEndereco); if (Commit()) { } return(Task.FromResult(true)); }
public void CadastrarEndereco(Guid clienteId, string cep, string logradouro, int numero, string complemento, string bairro, string cidade, string estado, string comprovanteBase64) { var cadastrarEnderecoCommand = new CadastrarEnderecoCommand(clienteId, cep, logradouro, numero, complemento, bairro, cidade, estado, comprovanteBase64); _bus.SendCommand(cadastrarEnderecoCommand); }
public void CadastrarEndereco(string codigoConvite, string numeroCelular, int tipoEndereco, string cep, string logradouro, int numero, string complemento, string bairro, string cidade, string estado, bool principal, string comprovanteBase64) { var cadastrarEnderecoCommand = new CadastrarEnderecoCommand(codigoConvite, numeroCelular, tipoEndereco, cep, logradouro, numero, complemento, bairro, cidade, estado, principal, comprovanteBase64); _bus.SendCommand(cadastrarEnderecoCommand); }
public async Task <IActionResult> CriarEnderecoAsync([FromBody] CadastrarEnderecoCommand command) { var result = await _commandCadastrarEndereco.Handle(command).ConfigureAwait(true) as CommandResult; if (result.Success) { return(Ok()); } else { return(UnprocessableEntity(result.Messages)); } }
public Task <bool> Handle(CadastrarEnderecoCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var onboarding = _onboardingRepository.Find(o => o.CodigoConvite.Equals(message.CodigoConvite) && o.NumeroCelular.Equals(message.NumeroCelular)).FirstOrDefault(); if (onboarding == null) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Código do convite ou número de celular inválidos.", message)); return(Task.FromResult(false)); } if (onboarding.Consultor == null) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Consultor não cadastrado.", message)); return(Task.FromResult(false)); } if (message.Principal) { foreach (var item in onboarding.Consultor.Enderecos.Where(e => e.TipoEndereco.Equals((TipoEndereco)message.TipoEndereco))) { item.Principal = false; } } var endereco = new Endereco(Guid.NewGuid(), (TipoEndereco)message.TipoEndereco, message.Cep, message.Logradouro, message.Numero, message.Complemento, message.Bairro, message.Cidade, message.Estado, message.Principal, message.ComprovanteBase64, onboarding.Consultor.Id); _enderecoRepository.Add(endereco); onboarding.StatusOnboarding = ((TipoEndereco)message.TipoEndereco).Equals(TipoEndereco.Consultor) ? StatusOnboarding.EnderecoCnpj : StatusOnboarding.EnderecoRepresentante; _onboardingRepository.Update(onboarding); if (Commit()) { } return(Task.FromResult(true)); }
public async ValueTask <ICommandResult> Handle(CadastrarEnderecoCommand command) { if (!command.Validate()) { AddNotifications(command); return(new CommandResult(false, base.Notifications)); } var entity = new Endereco(command.CEP, command.Logradouro, command.Numero, command.Complemento, command.Cidade, command.Estado, command.ClienteId); await _enderecoRepository.Add(entity); var result = await _enderecoRepository.SaveChanges().ConfigureAwait(true); if (!result) { return(new CommandResult(false)); } return(new CommandResult(true)); }