예제 #1
0
        /// <summary>
        /// Altera uma questao relacionada ao um exercicio
        /// Necessitando apenas do ID do Exercicio
        /// </summary>
        /// <param name="Q">parametro do tipo Questao | com id</param>
        public void Alterar(Questao Q)
        {
            SqlCommand comm = new SqlCommand("", Banco.Abrir());

            comm.CommandType = System.Data.CommandType.StoredProcedure;
            comm.CommandText = "AlterarQuestao";
            comm.Parameters.Add("@ID", SqlDbType.Int).Value                   = Q.ID;
            comm.Parameters.Add("@Exercicio", SqlDbType.Int).Value            = Q.Exercicio.ID;
            comm.Parameters.Add("@Ordem", SqlDbType.Int).Value                = Q.Ordem;
            comm.Parameters.Add("@AleatorioAlternativa", SqlDbType.Bit).Value = Q.AleatorioAlternativa;
            comm.Parameters.Add("@Pergunta", SqlDbType.Text).Value            = Q.Pergunta;
            comm.Parameters.Add("@Tipo", SqlDbType.Char).Value                = Q.Tipo;
            comm.Parameters.Add("@Usuario", SqlDbType.Int).Value              = Q.Usuario;
            comm.ExecuteNonQuery();
            comm.CommandType = CommandType.Text;
            comm.CommandText = "Delete ImagemQuesta Where ID_Questao = " + Q.ID;
            comm.ExecuteNonQuery();
            comm.CommandType = CommandType.StoredProcedure;
            comm.CommandText = "InserirImagemQuestao";
            comm.Parameters.Clear();
            int ordem = 1;

            foreach (var item in Q.Imagem)
            {
                comm.Parameters.Add("@Imagem", SqlDbType.Int).Value  = item.ID;
                comm.Parameters.Add("@Questao", SqlDbType.Int).Value = Q.ID;
                comm.Parameters.Add("@Ordem", SqlDbType.Int).Value   = ordem;
                comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = Q.Usuario;
                ordem += 1;
                comm.ExecuteNonQuery();
                comm.Parameters.Clear();
            }
            comm.Connection.Close();
        }
예제 #2
0
        /// <summary>
        /// Cria uma questao relacionada ao um exercicio
        /// Necessitando apenas do ID do Exercicio
        /// </summary>
        /// <param name="Q"> parametro do tipo Questao | sem id </param>
        public int Criar(Questao Q)
        {
            SqlCommand comm = new SqlCommand("", Banco.Abrir());

            comm.CommandType = System.Data.CommandType.StoredProcedure;
            comm.CommandText = "InserirQuestao";
            comm.Parameters.Add("@Exercicio", SqlDbType.Int).Value            = Q.Exercicio.ID;
            comm.Parameters.Add("@Ordem", SqlDbType.Int).Value                = Q.Ordem;
            comm.Parameters.Add("@AleatorioAlternativa", SqlDbType.Bit).Value = Q.AleatorioAlternativa;
            comm.Parameters.Add("@Pergunta", SqlDbType.Text).Value            = Q.Pergunta;
            comm.Parameters.Add("@Tipo", SqlDbType.Char).Value                = Q.Tipo;
            comm.Parameters.Add("@Usuario", SqlDbType.Int).Value              = Q.Usuario;
            comm.ExecuteNonQuery();
            comm.CommandType = CommandType.Text;
            comm.CommandText = "Select top 1 ID_Questao from Questao Where  ID_Exercicio = " + Q.Exercicio.ID + " order by ID_Questao desc";
            Q.ID             = Convert.ToInt32(comm.ExecuteScalar());
            comm.CommandType = CommandType.StoredProcedure;
            comm.CommandText = "InserirImagemQuestao";
            comm.Parameters.Clear();
            int ordem = 1;

            foreach (var item in Q.Imagem)
            {
                comm.Parameters.Add("@Imagem", SqlDbType.Int).Value  = item.ID;
                comm.Parameters.Add("@Questao", SqlDbType.Int).Value = Q.ID;
                comm.Parameters.Add("@Ordem", SqlDbType.Int).Value   = ordem;
                comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = Q.Usuario;
                ordem += 1;
                comm.ExecuteNonQuery();
                comm.Parameters.Clear();
            }
            comm.Connection.Close();
            return(Q.ID);
        }
예제 #3
0
        /// <summary>
        /// Retorna um objeto do tipo exercicio completo com list de questoes (ordenadas ) ja com alternativas (ordenadas)
        /// </summary>
        /// <param name="id">parametro inteiro representando o ID do exercicio</param>
        /// <returns></returns>
        public Exercicio Consultar(int id)
        {
            SqlCommand    comm = new SqlCommand("Select * from Exercicio Where ID_Exercicio = " + id, Banco.Abrir());
            SqlDataReader dr   = comm.ExecuteReader();
            Exercicio     e    = new Exercicio();

            while (dr.Read())
            {
                e.ID = Convert.ToInt32(dr.GetValue(0));
                Conteudo cont = new Conteudo();
                cont.ID            = Convert.ToInt32(dr.GetValue(1));
                e.Conteudo         = cont;
                e.Descricao        = dr.GetValue(2).ToString();
                e.Tipo             = dr.GetValue(3).ToString();
                e.AleatorioQuestao = Convert.ToBoolean(dr.GetValue(4));
                e.Usuario          = Convert.ToInt32(dr.GetValue(5));
            }
            dr.Close();
            comm.CommandText = "Select ID_Questao, Ordem_Questao from Questao Where ID_Exercicio = " + id + " order by Ordem_Questao";
            dr = comm.ExecuteReader();
            List <Questao> lista = new List <Questao>();

            while (dr.Read())
            {
                QuestaoDAL dalq = new QuestaoDAL();
                Questao    q    = new Questao();
                q = dalq.Consultar(Convert.ToInt32(dr.GetValue(0)));
                lista.Add(q);
            }
            e.Questao = lista;
            comm.Connection.Close();
            return(e);
        }
예제 #4
0
        /// <summary>
        /// Retorna um objeto do tipo Questao completo
        /// Contendo list de ALternativa (Completo)
        /// </summary>
        /// <param name="id"> parametro do tipo inteiro representando o ID da Questao </param>
        /// <returns></returns>
        public Questao Consultar(int id)
        {
            SqlCommand    comm = new SqlCommand("Select * from Questao Where ID_Questao = " + id, Banco.Abrir());
            SqlDataReader dr   = comm.ExecuteReader();
            Questao       q    = new Questao();

            while (dr.Read())
            {
                q.ID = Convert.ToInt32(dr.GetValue(0));
                Exercicio e = new Exercicio();
                e.ID                   = Convert.ToInt32(dr.GetValue(1));
                q.Exercicio            = e;
                q.Ordem                = Convert.ToInt32(dr.GetValue(2));
                q.AleatorioAlternativa = Convert.ToBoolean(dr.GetValue(3));
                q.Pergunta             = dr.GetValue(4).ToString();
                q.Tipo                 = dr.GetValue(5).ToString();
                q.Usuario              = Convert.ToInt32(dr.GetValue(6));
            }
            dr.Close();
            comm.CommandText = "Select ID_Alternativa, Ordem_Alternativa from Alternativa Where ID_Questao = " + id + " order by Ordem_Alternativa";
            dr = comm.ExecuteReader();
            List <Alternativa> lista = new List <Alternativa>();

            while (dr.Read())
            {
                AlternativaDAL dalalter = new AlternativaDAL();
                Alternativa    a        = new Alternativa();
                a = dalalter.Consultar(Convert.ToInt32(dr.GetValue(0)));
                lista.Add(a);
            }
            q.Alternativa = lista;
            dr.Close();
            comm.CommandText = @"Select ID_Imagem, Ordem_ImagemQuestao from ImagemQuestao Where ID_Questao = " + id + " order by Ordem_ImagemQuestao";
            dr = comm.ExecuteReader();
            List <Imagem> listaIMG = new List <Imagem>();

            while (dr.Read())
            {
                ImagemDAL dalimg = new ImagemDAL();
                Imagem    i      = new Imagem();
                i = dalimg.Consultar(Convert.ToInt32(dr.GetValue(0)));
                listaIMG.Add(i);
            }
            q.Imagem = listaIMG;
            comm.Connection.Close();
            return(q);
        }
예제 #5
0
        /// <summary>
        /// Consulta no Banco de Dados na tabela alternativa e retorna Um objeto do tipo Alternativa com todas suas propriedades
        /// Com Questão so conteindo o ID
        /// </summary>
        /// <param name="id"> parametro um inteiro, sendo o ID da Tupla do Banco de dados </param>
        /// <returns></returns>
        public Alternativa Consultar(int id)
        {
            SqlCommand    comm = new SqlCommand("Select * from Alternativa Where ID_Alternativa = " + id, Banco.Abrir());
            SqlDataReader dr   = comm.ExecuteReader();
            Alternativa   a    = new Alternativa();

            while (dr.Read())
            {
                a.ID = Convert.ToInt32(dr.GetValue(0));
                Questao q = new Questao();
                q.ID       = Convert.ToInt32(dr.GetValue(1));
                a.Questao  = q;
                a.Tipo     = dr.GetValue(2).ToString();
                a.Conteudo = dr.GetValue(3).ToString();
                a.Ordem    = Convert.ToInt32(dr.GetValue(4));
                a.Usuario  = Convert.ToInt32(dr.GetValue(5));
            }
            comm.Connection.Close();
            return(a);
        }