public ICommandResult Handler(CriarSeguraResidencialCommand command)
        {
            var cliente = clienteRepository.Get(command.ClienteId);

            if (cliente == null)
            {
                AddNotification("Cliente", "Cliente não foi encontrado");
            }

            var endereco = new Endereco(command.Rua, command.Numero, command.Complemento, command.Cep, command.Bairro, command.Cidade, command.Estado, command.Pais);
            var seguro   = new SeguroResidencial(cliente, endereco, command.Valor);

            AddNotifications(endereco.Notifications);
            AddNotifications(seguro.Notifications);

            if (Invalid)
            {
                return(new CommandResult(false, "Por favor corrija os campos abaixo", "Notifications"));
            }

            seguroRepository.Save(seguro);
            return(new SeguroResidencialCommandResult(true, "Seguro residencial criado com sucesso", seguro));
        }
 public SeguroResidencialCommandResult(bool success, string message, SeguroResidencial seguro)
 {
     Success = success;
     Message = message;
     Data    = new { seguro.Id, IdCliente = seguro.Cliente.Id, IdEndereco = seguro.EnderecoDeRisco.Id };
 }