Exemplo n.º 1
0
        public ActionResult Create(ClienteRequestModel model)
        {
            model.Endereco.Cep = Regex.Replace(model.Endereco.Cep, "[^0-9a-zA-Z]+", "");

            model.PessoaFisica.Cpf = Regex.Replace(model.PessoaFisica.Cpf, "[^0-9a-zA-Z]+", "");

            var pessoaFisica = new PessoaFisica(model.Nome, model.PessoaFisica.Cpf);

            var endereco = new Endereco(model.Endereco.Cep, model.Endereco.Rua, model.Endereco.Bairro, model.Endereco.Cidade,
                                        model.Endereco.Numero, model.Endereco.Complemento);

            List <Telefone> telefones = new List <Telefone>();

            foreach (var item in model.Telefones)
            {
                if (item.Numero != null)
                {
                    var telefone = new Telefone(item.Numero, item.TipoTelefone);
                    telefones.Add(telefone);
                }
            }

            var cliente = new Cliente(model.Nome, pessoaFisica, model.Classificacao, model.Email, endereco, telefones);

            try
            {
                _clienteRepository.Add(cliente);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 2
0
        public IActionResult Post(ClienteRequestModel model)
        {
            var pessoaFisica = new PessoaFisica(model.PessoaFisica.Nome, model.PessoaFisica.Cpf);

            var endereco = new Endereco(model.Endereco.Cep, model.Endereco.Rua, model.Endereco.Bairro, model.Endereco.Cidade,
                                        model.Endereco.Numero, model.Endereco.Complemento);

            List <Telefone> telefones = new List <Telefone>();

            foreach (var item in model.Telefones)
            {
                var telefone = new Telefone(item.Numero, item.TipoTelefone);
                telefones.Add(telefone);
            }

            var cliente = new Cliente(model.Nome, pessoaFisica, model.Classificacao, model.Email, endereco, telefones);

            try
            {
                _clienteRepository.Add(cliente);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(CreatedAtRoute(
                       "Get",
                       new { Id = cliente.Id },
                       cliente));
        }