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()); }
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) ); } } }