Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }