/// <summary> /// Execulta uma comando select no banco de dados /// </summary> /// <param name="sql">comando de seleção</param> /// <returns>o resultado do comando</returns> public static DataTable ExecutaSelect(string sql) { SqlConnection conexao = ConexaoDAO.GetConexao(); try { // Instancia um Objeto Tabela e retorna ele preenchido DataTable tabela = new DataTable(); SqlDataAdapter adapter = new SqlDataAdapter(sql, conexao); adapter.Fill(tabela); return(tabela); } catch (SqlException sqlErro) { //tratar o erro aqui... return(null); } catch (Exception erro) { //tratar o erro aqui... return(null); } finally { conexao.Close(); } }
/// <summary> /// Efutua a abertura da chamada para uma matéria e a atual turma. /// </summary> /// <param name="materia">objeto com os parametros da chamada a ser aberta</param> /// <param name="time">horario da chamada</param> /// <returns>true se a chamada for aberta</returns> public static bool AbrirChamada(MateriaForChamadaVO materia, string time) { bool retorno; SqlConnection con = ConexaoDAO.GetConexao(); SqlTransaction transacao = con.BeginTransaction(); try { List <AlunoVO> alunos = GetAlunosByTurmaId(materia.TurmaId); SqlCommand insertChamada = con.CreateCommand(); insertChamada.CommandText = string.Format("INSERT INTO CHAMADA (DTCHAMADA, HORAINICIO, HORATERMINO, HORARIOMATERIAPROFTURMAID, SITCHAMADA)" + " OUTPUT INSERTED.ID" + " VALUES(GETDATE(), \'{0}\', null, {1}, {2})", time, materia.HorarioMaterioProfTurmaId, (int)SitChamadaEnum.Aberta); insertChamada.Transaction = transacao; int chamadaId = (int)insertChamada.ExecuteScalar(); if (chamadaId > 0) { SqlCommand cmd; foreach (AlunoVO aluno in alunos) { cmd = PreparaAlunoChamada(chamadaId, aluno.Id, con); cmd.Transaction = transacao; cmd.ExecuteNonQuery(); } } transacao.Commit(); retorno = true; } catch (SqlException erro) { transacao.Rollback(); retorno = false; } finally { con.Close(); } return(retorno); }
public static bool ConcluirChamada(int chamadaId, List <AlunoChamadaAlteracaoVO> alunos) { bool retorno; foreach (AlunoChamadaAlteracaoVO aluno in alunos) { MarcarPresenca(aluno.Id, DateTime.Now.ToShortTimeString()); } SqlConnection con = ConexaoDAO.GetConexao(); SqlTransaction transacao = con.BeginTransaction(); try { List <AlunoChamadaVO> alunosNaoPresentes = GetALunosChamada(chamadaId, (int)SitAlunoChamadaEnum.AguardandoChamada); SqlCommand updateChamada = con.CreateCommand(); updateChamada.CommandText = string.Format("UPDATE CHAMADA SET CHAMADA.SITCHAMADA = {0}" + " WHERE CHAMADA.ID = {1}", (int)SitChamadaEnum.Concluida, chamadaId); updateChamada.Transaction = transacao; updateChamada.ExecuteNonQuery(); SqlCommand cmd; foreach (AlunoChamadaVO alunoChamada in alunosNaoPresentes) { cmd = ManterAlunoChamada(alunoChamada.Id, (int)SitAlunoChamadaEnum.NaoPresente, con); cmd.Transaction = transacao; cmd.ExecuteNonQuery(); } transacao.Commit(); retorno = true; } catch (SqlException erro) { transacao.Rollback(); retorno = false; } finally { con.Close(); } return(retorno); }
/// <summary> /// Executa um determinado comando no banco de dados /// </summary> /// <param name="sql">Inserir, Altera e Excluir</param> public static void ExecutaSQL(string sql) { SqlConnection conexao = ConexaoDAO.GetConexao(); try { SqlCommand comando = new SqlCommand(sql, conexao); comando.ExecuteNonQuery(); } finally { conexao.Close(); } }