/// <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(); }
/// <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); }
/// <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); }
/// <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); }