public void Gerar() { foreach (Agendamento agendamento in db.Agendamento.Where(ag => ag.Ativo).ToList()) { if (PermitiGerar(agendamento)) { var acesso = db.AcessoBaseRh.FirstOrDefault(); //Deve conter informações para acesso na base RH e deve ter os atributos da árvore configurados if (acesso != null && db.ConfiguracaoAtributo.Count(config => config.ConfiguracaoArvoreID == agendamento.ConfiguracaoArvoreID) > 0) { //Toda vez que integrar deve excluir a tabela e gerar novamente para buscar as novas informações var configuracaoArvore = db.ConfiguracaoArvore.FirstOrDefault(config => config.ID == agendamento.ConfiguracaoArvoreID); TabelaTemporaria.Excluir(configuracaoArvore.ID); configuracaoArvore.Tabela = TabelaTemporaria.Gerar(configuracaoArvore.Sql, configuracaoArvore.ID, acesso.RetornaStringConexao()); db.Entry(configuracaoArvore).State = EntityState.Modified; db.SaveChanges(); RodarArvore(agendamento.ConfiguracaoArvoreID); agendamento.UltimaExecucao = DateTime.Now; db.Entry(agendamento).State = EntityState.Modified; db.SaveChanges(); } } } }
public ActionResult DeleteConfirmed(int id) { if (db.ArvoreGerada.Count(arvore => arvore.ConfiguracaoArvoreID == id) > 0) { ModelState.AddModelError("", "Já existem arvores geradas para essa configuração. Exclusão não permitida."); } else { ConfiguracaoArvore configuracaoArvore = db.ConfiguracaoArvore.Find(id); TabelaTemporaria.Excluir(configuracaoArvore.ID); db.ConfiguracaoAtributo.RemoveRange(db.ConfiguracaoAtributo.Where(atr => atr.ConfiguracaoArvoreID == id)); db.Agendamento.RemoveRange(db.Agendamento.Where(atr => atr.ConfiguracaoArvoreID == id)); db.ConfiguracaoArvore.Remove(configuracaoArvore); db.SaveChanges(); return(RedirectToAction("Index")); } return(View("Delete", db.ConfiguracaoArvore.Find(id))); }
public ActionResult Edit(ConfiguracaoArvore configuracaoArvore) { if (ModelState.IsValid) { try { if (db.AcessoBaseRh.Count() <= 0) { ModelState.AddModelError("", "Não foi realizado cadastro da conexão com a Base RH. Favor verificar."); } else { var acesso = db.AcessoBaseRh.FirstOrDefault(); if (!TabelaTemporaria.VerificarComando(configuracaoArvore.Sql, acesso.RetornaStringConexao())) { ModelState.AddModelError("", "Comando SQL possui problemas. Favor verificar."); } else { TabelaTemporaria.Excluir(configuracaoArvore.ID); configuracaoArvore.Tabela = TabelaTemporaria.Gerar(configuracaoArvore.Sql, configuracaoArvore.ID, acesso.RetornaStringConexao()); db.Entry(configuracaoArvore).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } return(View(configuracaoArvore)); }