Пример #1
0
        /// <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();
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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();
            }
        }