Exemple #1
0
        public async Task <object> ObterDependentePorId(Guid clienteId, Guid dependenteId)
        {
            var obterDependentePorIdCommand  = new ObterDependentePorIdCommand(clienteId, dependenteId);
            var obterDependentePorIdResponse = await _bus.SendCommand(obterDependentePorIdCommand);

            return(_notifications.HasNotifications() ? obterDependentePorIdResponse : _mapper.Map <DependenteViewModel>((ClienteDependente)obterDependentePorIdResponse));
        }
        public async Task <object> Handle(ObterDependentePorIdCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(await Task.FromResult(false));
            }

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

            if (cliente == null)
            {
                await _bus.RaiseEvent(new DomainNotification(message.MessageType, "Cliente não cadastrado.", message));

                return(await Task.FromResult(false));
            }

            var clienteDependente = _clienteDependenteRepository.GetById(message.DependenteId);

            if (clienteDependente != null)
            {
                return(await Task.FromResult(clienteDependente));
            }

            await _bus.RaiseEvent(new DomainNotification(message.MessageType, "Dependente não encontrado.", message));

            return(await Task.FromResult(false));
        }