示例#1
0
        /// <summary>
        /// Altera uma alternativa no banco de dados
        /// Passando todos as propriedades
        /// </summary>
        /// <param name="A"> parametro do tipo de alternativa </param>
        public void Alterar(Alternativa A)
        {
            SqlCommand comm = new SqlCommand("", Banco.Abrir());

            comm.CommandType = System.Data.CommandType.StoredProcedure;
            comm.CommandText = "AlterarAlternativa";
            comm.Parameters.Add("@ID", SqlDbType.Int).Value           = A.ID;
            comm.Parameters.Add("@Questao", SqlDbType.Int).Value      = A.Questao.ID;
            comm.Parameters.Add("@Tipo", SqlDbType.Char).Value        = A.Tipo;
            comm.Parameters.Add("@Conteudo", SqlDbType.VarChar).Value = A.Conteudo;
            comm.Parameters.Add("@Ordem", SqlDbType.Int).Value        = A.Ordem;
            comm.Parameters.Add("@Usuario", SqlDbType.Int).Value      = A.Usuario;
            comm.ExecuteNonQuery();
            comm.Connection.Close();
        }
示例#2
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);
        }
示例#3
0
        /// <summary>
        /// Insere uma alternativa no banco de dados, *NÃO* precisando passar a propriedade ID
        /// </summary>
        /// <param name="A"> parametro  do tipo alternativa</param>
        public int Criar(Alternativa A)
        {
            SqlCommand comm = new SqlCommand("", Banco.Abrir());

            comm.CommandType = System.Data.CommandType.StoredProcedure;
            comm.CommandText = "InserirAlternativa";
            comm.Parameters.Add("@Questao", SqlDbType.Int).Value      = A.Questao.ID;
            comm.Parameters.Add("@Tipo", SqlDbType.Char).Value        = A.Tipo;
            comm.Parameters.Add("@Conteudo", SqlDbType.VarChar).Value = A.Conteudo;
            comm.Parameters.Add("@Ordem", SqlDbType.Int).Value        = A.Ordem;
            comm.Parameters.Add("@Usuario", SqlDbType.Int).Value      = A.Usuario;
            comm.ExecuteNonQuery();
            comm.CommandType = CommandType.Text;
            comm.CommandText = "Select top 1 ID_Alternativa from Alternativa Where ID_Alternativa = " + A.ID + " and ID_Questao = " + A.Questao.ID + " order by ID_Alternativa desc";
            A.ID             = Convert.ToInt32(comm.ExecuteScalar());
            comm.Connection.Close();
            return(A.ID);
        }
示例#4
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);
        }