public ActionResult Cadastro(DataPessoa pessoa, string url)
        {
            try
            {
                if (bd.pessoa.Any(a => a.email == pessoa.email))
                {
                    return(RedirectToAction("Falha", "Cadastro", new { message = 1, url }));
                }
                else
                {
                    endereco enderecoBanco = new endereco
                    {
                        complemento = pessoa.complemento,
                        numero      = pessoa.numero,
                        estado      = pessoa.estado,
                        endereco1   = pessoa.endereco,
                        cidade      = pessoa.cidade,
                        bairro      = pessoa.bairro
                    };


                    bd.endereco.Add(enderecoBanco);
                    bd.SaveChanges();

                    pessoa pessoaBanco = new pessoa
                    {
                        nome           = pessoa.nome.ToUpper(),
                        email          = pessoa.email.ToLower(),
                        dataNascimento = pessoa.dataNascimento,
                        senha          = pessoa.senha,
                        contato        = pessoa.contato,
                        enderecoId     = enderecoBanco.enderecoId,
                        pontos         = 25
                    };

                    bd.pessoa.Add(pessoaBanco);
                    bd.SaveChanges();

                    return(RedirectToAction("CadastrarRodovia", "Pessoa", new { PessoaId = pessoaBanco.pessoaId }));
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
            //catch
            //{
            //    return RedirectToAction("Cadastro", "Pessoa", new { status = 1 });
            //}
        }
        public Retorno Listar(ParametrosOrdenacaoPaginacao parametros)
        {
            try
            {
                var retorno = new DataPessoa().Listar(parametros);

                if (retorno.IsValido)
                {
                    retorno.Entity = ConverterParaResultadoDataTables <Pessoa>(retorno, RecuperarTotalRegistros("TB_PESSOA", "CODIGO", String.Empty).Entity.ConverteValor(0));
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
 public Retorno Salvar(Pessoa Entity)
 {
     try
     {
         Retorno retorno = PreenchimentoObrigatorio(Entity);
         if (retorno.IsValido)
         {
             if (Entity.Codigo == 0)
             {
                 retorno = new DataPessoa().Incluir(Entity);
             }
             else
             {
                 retorno = new DataPessoa().Alterar(Entity);
             }
         }
         return(retorno);
     }
     catch (Exception ex)
     {
         return(Retorno.CriarRetornoExcecao(ex));
     }
 }