public HttpResponseMessage Post([FromBody] ClienteViewModel viewModel)
        {
            var nomeCliente     = Nome.Criar(viewModel.PrimeiroNome, viewModel.SobreNome);
            var emailCliente    = Email.Criar(viewModel.EmailPrincipal);
            var enderecoCliente = Endereco.Criar(viewModel.Logradouro, viewModel.Bairro,
                                                 viewModel.Cidade, viewModel.Estado, viewModel.Cep);
            var cpfCliente = Cpf.Criar(viewModel.Cpf);

            var telefoneResidencialCliente = Telefone.Criar(viewModel.DDDTelefoneResidencial,
                                                            viewModel.TelefoneResidencial);
            var celularCliente    = Telefone.Criar(viewModel.DDDCelular, viewModel.Celular);
            var telefoneComercial = Telefone.Criar(viewModel.DDDTelefoneResidencial,
                                                   viewModel.TelefoneComercial);

            DominioResultante resultante = DominioResultante.CombinarDominios(nomeCliente,
                                                                              emailCliente, enderecoCliente, cpfCliente, telefoneResidencialCliente,
                                                                              telefoneComercial, celularCliente);

            if (resultante.Falhou)
            {
                return(Erro(resultante.MensagemDeErro));
            }

            var agendaContatos = AgendaTelefonica.Criar(telefoneResidencialCliente.Objeto,
                                                        celularCliente.Objeto, telefoneComercial.Objeto);

            var cliente = new Cliente(Guid.NewGuid(), nomeCliente.Objeto, emailCliente.Objeto,
                                      enderecoCliente.Objeto, cpfCliente.Objeto, agendaContatos.Objeto);

            //INTERAÇÃO COM BANCO DE DADOS.

            return(Ok());
        }
示例#2
0
        private void GerarListDeEnderecos(IList <EnderecoViewModel> enderecos, out IList <Endereco> listaDeEnderecos)
        {
            listaDeEnderecos = new List <Endereco>();

            if (enderecos.Count > 0)
            {
                foreach (var item in enderecos)
                {
                    listaDeEnderecos.Add
                    (
                        Endereco.Criar(item.TipoEndereco, item.Cep, item.Logradouro, item.Numero, item.Complemento, item.Bairro, item.Cidade, item.Estado)
                    );
                }
            }
        }