public async Task <object> Handle(ObterEnderecoPorIdCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(await Task.FromResult(false)); } var onboarding = _onboardingRepository.Find(o => o.CodigoConvite.Equals(message.CodigoConvite) && o.NumeroCelular.Equals(message.NumeroCelular)).FirstOrDefault(); if (onboarding == null) { await _bus.RaiseEvent(new DomainNotification(message.MessageType, "Código do convite ou número de celular inválidos.", message)); return(await Task.FromResult(false)); } if (onboarding.Consultor == null) { await _bus.RaiseEvent(new DomainNotification(message.MessageType, "Consultor não cadastrado.", message)); return(await Task.FromResult(false)); } var endereco = _enderecoRepository.GetById(message.EnderecoId); if (endereco != null) { return(await Task.FromResult(endereco)); } await _bus.RaiseEvent(new DomainNotification(message.MessageType, "Endereço não encontrado.", message)); return(await Task.FromResult(false)); }
public async Task <object> ObterEnderecoPorId(string codigoConvite, string numeroCelular, Guid enderecoId) { var obterEnderecoPorIdCommand = new ObterEnderecoPorIdCommand(codigoConvite, numeroCelular, enderecoId); var obterEnderecoPorIdResponse = await _bus.SendCommand(obterEnderecoPorIdCommand); return(_notifications.HasNotifications() ? obterEnderecoPorIdResponse : _mapper.Map <EnderecoPorIdViewModel>((Endereco)obterEnderecoPorIdResponse)); }