public ActionResult Create(PessoaViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var contexto = new CrudSemBDEntities())
                    {
                        contexto.Pessoa.Add(new Pessoa
                        {
                            nmPessoa     = model.nmPessoa,
                            dtnascimento = Convert.ToDateTime(model.dtnascimento),
                            pessoaCPF    = model.pessoaCPF,
                            idSexo       = model.idSexo
                        });

                        contexto.SaveChanges();
                    }
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View(model));
            }
        }
        // GET: Pessoa
        public ActionResult Index()
        {
            using (var context = new CrudSemBDEntities())
            {
                var buscaPessoas    = context.Pessoa.AsNoTracking().ToList();
                var pessoaViewModel = new List <PessoaViewModel>();

                if (buscaPessoas != null)
                {
                    foreach (var item in buscaPessoas)
                    {
                        pessoaViewModel.Add(new PessoaViewModel
                        {
                            nmPessoa      = item.nmPessoa,
                            descricaoSexo = item.Sexo.descricaoSexo,
                            dtnascimento  = item.dtnascimento.ToString("dd/MM/yyyy"),
                            pessoaCPF     = item.pessoaCPF,
                            idPessoa      = item.idPessoa,
                            idSexo        = item.idSexo
                        });
                    }
                }

                return(View(pessoaViewModel));
            }
        }
        public ActionResult Edit(PessoaViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var context = new CrudSemBDEntities())
                    {
                        var buscaPessoa = context.Pessoa.Find(model.idPessoa);

                        if (buscaPessoa != null)
                        {
                            buscaPessoa.nmPessoa     = model.nmPessoa;
                            buscaPessoa.dtnascimento = Convert.ToDateTime(model.dtnascimento);
                            buscaPessoa.pessoaCPF    = model.pessoaCPF;
                            buscaPessoa.idSexo       = model.idSexo;
                        }

                        context.SaveChanges();
                    }
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View(model));
            }
        }
        public void PreencherViewBag()
        {
            using (var context = new CrudSemBDEntities())
            {
                var buscaSexos = context.Sexo.AsNoTracking().ToList();

                if (buscaSexos != null)
                {
                    ViewBag.listaSexo = buscaSexos;
                }
            }
        }
        public Pessoa BuscaPessoaById(int id)
        {
            using (var context = new CrudSemBDEntities())
            {
                var buscaPessoa = context.Pessoa.Include("Sexo").AsNoTracking().FirstOrDefault(x => x.idPessoa == id);

                if (buscaPessoa != null)
                {
                    return(buscaPessoa);
                }
                else
                {
                    return(null);
                }
            }
        }
        public ActionResult Delete(PessoaViewModel model)
        {
            try
            {
                using (var context = new CrudSemBDEntities())
                {
                    var buscaPessoa = context.Pessoa.Find(model.idPessoa);

                    if (buscaPessoa != null)
                    {
                        context.Pessoa.Remove(buscaPessoa);
                        context.SaveChanges();
                    }
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View(model));
            }
        }