Exemplo n.º 1
0
 public ActionResult Excluir(int id)
 {
     using (TalentosEntities db = new TalentosEntities())
     {
         using (var dbContextTransaction = db.Database.BeginTransaction())
         {
             try
             {
                 db.Database.ExecuteSqlCommand("DELETE FROM Tempo_Pessoa WHERE pessoa_id = " + id);
                 db.Database.ExecuteSqlCommand("DELETE FROM Horario_Pessoa WHERE pessoa_id = " + id);
                 db.Database.ExecuteSqlCommand("DELETE FROM Conhecimento_Pessoa WHERE pessoa_id = " + id);
                 var p = db.Pessoa.Find(id);
                 db.Pessoa.Remove(p);
                 db.SaveChanges();
                 dbContextTransaction.Commit();
             }
             catch (Exception ex)
             {
                 dbContextTransaction.Rollback();
                 throw new Exception(ex.Message);
             }
         }
     }
     return(Redirect("~/"));
 }
Exemplo n.º 2
0
        public ActionResult Novo(PessoaViewModel model)
        {
            if (Request.Form["comando"] != null)
            {
                return(View(model));
            }
            else
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        using (TalentosEntities db = new TalentosEntities())
                        {
                            using (var dbContextTransaction = db.Database.BeginTransaction())
                            {
                                try
                                {
                                    var x = new Pessoa();
                                    x.email                  = model.Email;
                                    x.nome                   = model.Nome;
                                    x.skype                  = model.Skype;
                                    x.telefone               = model.Telefone;
                                    x.linkedin               = model.Linkedin;
                                    x.cidade                 = model.Cidade;
                                    x.estado                 = model.Estado;
                                    x.portfolio              = model.Portfolio;
                                    x.salario_por_hora       = model.SalarioPorHora;
                                    x.experiencia_tecnologia = model.ExperienciaTecnologia;
                                    x.link_crud              = model.LinkCrud;

                                    db.Pessoa.Add(x);
                                    db.SaveChanges();

                                    int pessoaId = x.id;

                                    for (int i = 0; i < model.ConhecimentoList.Count; i++)
                                    {
                                        var h = new Conhecimento_Pessoa();
                                        h.pessoa_id       = pessoaId;
                                        h.conhecimento_id = model.ConhecimentoList[i].Id;
                                        h.nivel           = model.ConhecimentoList[i].Nivel != null ? model.ConhecimentoList[i].Nivel.ToString() : "";

                                        db.Conhecimento_Pessoa.Add(h);
                                        db.SaveChanges();
                                    }

                                    for (int i = 0; i < model.TrabalhoHorarioList.Count; i++)
                                    {
                                        if (model.TrabalhoHorarioList[i].IsSelected)
                                        {
                                            var h = new Horario_Pessoa();
                                            h.pessoa_id  = pessoaId;
                                            h.horario_id = model.TrabalhoHorarioList[i].Id;

                                            db.Horario_Pessoa.Add(h);
                                            db.SaveChanges();
                                        }
                                    }

                                    for (int i = 0; i < model.TrabalhoTempoList.Count; i++)
                                    {
                                        if (model.TrabalhoTempoList[i].IsSelected)
                                        {
                                            var h = new Tempo_Pessoa();
                                            h.pessoa_id = pessoaId;
                                            h.tempo_id  = model.TrabalhoTempoList[i].Id;

                                            db.Tempo_Pessoa.Add(h);
                                            db.SaveChanges();
                                        }
                                    }

                                    dbContextTransaction.Commit();
                                }
                                catch (Exception ex)
                                {
                                    dbContextTransaction.Rollback();
                                    throw new Exception(ex.Message);
                                }
                            }
                        }
                        return(Redirect("~/"));
                    }
                    return(View(model));
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
        }