public ConteudoTexto Consultar(int id) { SqlCommand comm = new SqlCommand("Select * from ConteudoTexto where ID_ConteudoTexto = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); ConteudoTexto c = new ConteudoTexto(); while (dr.Read()) { Texto t = null; if (dr.GetValue(2) != null) { t = new Texto(); TextoDAL daltex = new TextoDAL(); t = daltex.Consultar(Convert.ToInt32(dr.GetValue(2))); } Conteudo cc = null; if (dr.GetValue(1) != null) { cc = new Conteudo(); ConteudoDAL dalcont = new ConteudoDAL(); cc = dalcont.Consultar(Convert.ToInt32(dr.GetValue(1))); } Imagem i = null; if (dr.GetValue(4) != null) { i = new Imagem(); ImagemDAL dalimg = new ImagemDAL(); i = dalimg.Consultar(Convert.ToInt32(dr.GetValue(4))); } Video v = null; if (dr.GetValue(3) != null) { v = new Video(); VideoDAL dalvid = new VideoDAL(); v = dalvid.Consultar(Convert.ToInt32(dr.GetValue(3))); } c = new ConteudoTexto { ID = Convert.ToInt32(dr.GetValue(0)), Conteudo = cc, Texto = t, Imagem = i, Video = v, Ordem = Convert.ToInt32(dr.GetValue(5)), Usuario = Convert.ToInt32(dr.GetValue(6)) }; } comm.Connection.Close(); return(c); }
/// <summary> /// retorna um objeto do tipo pergunta /// Juntamento com o list de imagem em ordem e o de respostas /// </summary> /// <param name="id"> parametro do tipo inteiro representando o ID da Pergunta </param> /// <returns></returns> public Pergunta Consultar(int id) { SqlCommand comm = new SqlCommand("Select * from Pergunta where ID_Pergunta = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Pergunta p = new Pergunta(); while (dr.Read()) { p = new Pergunta { ID = Convert.ToInt32(dr.GetValue(0)), Titulo = dr.GetValue(1).ToString(), Texto = dr.GetValue(2).ToString(), Visibilidade = Convert.ToBoolean(dr.GetValue(3)), Usuario = Convert.ToInt32(dr.GetValue(4)) }; } dr.Close(); comm.CommandText = @"Select i.ID_Imagem,ip.Ordem_ImagemPergunta from Imagem i inner join ImagemPergunta ip on i.ID_Imagem = ip.ID_Imagem Where ip.ID_Pergunta = " + id + " order by ip.Ordem_ImagemPergunta"; dr = comm.ExecuteReader(); List <Imagem> listaimg = new List <Imagem>(); while (dr.Read()) { ImagemDAL dal = new ImagemDAL(); Imagem im = new Imagem(); im = dal.Consultar(Convert.ToInt32(dr.GetValue(0))); listaimg.Add(im); } p.Imagem = listaimg; dr.Close(); comm.CommandText = "Select ID_Resposta from Resposta Where ID_Pergunta = " + id; dr = comm.ExecuteReader(); List <Resposta> listresposta = new List <Resposta>(); while (dr.Read()) { Resposta r = new Resposta(); RespostaDAL dal = new RespostaDAL(); r = dal.Consultar(Convert.ToInt32(dr.GetValue(0))); listresposta.Add(r); } p.Resposta = listresposta; comm.Connection.Close(); return(p); }
/// <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> /// Altera um Conteudo na tabela conteudo no Banco de dados /// Com Imagem Podendo ser nula /// </summary> /// <param name="C"> Parametro do tipo Conteudo| com id </param> public void Alterar(Conteudo C) { SqlCommand comm = new SqlCommand("", Banco.Abrir()); comm.CommandType = System.Data.CommandType.StoredProcedure; comm.CommandText = "AlterarConteudo"; comm.Parameters.Add("@ID", SqlDbType.Int).Value = C.ID; comm.Parameters.Add("@Materia", SqlDbType.Int).Value = C.Materia.ID; comm.Parameters.Add("@Nome", SqlDbType.VarChar).Value = C.Nome; comm.Parameters.Add("@Ordem", SqlDbType.Int).Value = C.Ordem; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = C.Usuario; if (C.Imagem != null) { comm.Parameters.Add("@Imagem", SqlDbType.VarBinary).Value = C.Imagem; } comm.ExecuteNonQuery(); comm.Parameters.Clear(); comm.CommandType = CommandType.Text; comm.CommandText = "Delete From ConteudoTexto Where ID_Conteudo = " + C.ID; comm.ExecuteNonQuery(); comm.CommandText = "Select Count(*) from Resumo Where ID_Conteudo = " + C.ID; if (Convert.ToInt32(comm.ExecuteScalar()) > 0) { comm.CommandText = "Delete From Resumo Where ID_Conteudo = " + C.ID; comm.ExecuteNonQuery(); } foreach (var item in C.ConteudoTexto) { if (item.Texto != null) { TextoDAL dal = new TextoDAL(); dal.Deletar(item.Texto.ID); } if (item.Imagem != null) { ImagemDAL dal = new ImagemDAL(); dal.Deletar(item.Imagem.ID); } if (item.Video != null) { VideoDAL dal = new VideoDAL(); dal.Deletar(item.Video.ID); } } comm.Connection.Close(); }
/// <summary> /// Insere uma resposta do forum no Banco de Dados /// Contendo List de Imagens na Ordem /// </summary> /// <param name="R"> parametro do tipo Resposta | sem id </param> public int Inserir(Resposta R) { SqlCommand comm = new SqlCommand("", Banco.Abrir()); comm.CommandType = System.Data.CommandType.StoredProcedure; comm.CommandText = "InserirResposta"; comm.Parameters.Add("@Pergunta", SqlDbType.Int).Value = R.Pergunta.ID; comm.Parameters.Add("@Titulo", SqlDbType.VarChar).Value = R.Titulo; comm.Parameters.Add("@Texto", SqlDbType.Text).Value = R.Texto; comm.Parameters.Add("@Visibilidade", SqlDbType.Bit).Value = R.Visibilidade; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = R.Usuario; comm.ExecuteNonQuery(); comm.CommandType = CommandType.Text; comm.CommandText = "Select top 1 ID_Resposta from Resposta Where ID_Pergunta = " + R.Pergunta.ID + " order by ID_Resposta desc"; R.ID = Convert.ToInt32(comm.ExecuteScalar()); ImagemDAL dalimg = new ImagemDAL(); foreach (var item in R.Imagem) { item.ID = dalimg.Inserir(item); } comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "InserirImagemResposta"; comm.Parameters.Clear(); int ordem = 1; foreach (var item in R.Imagem) { comm.Parameters.Add("@Imagem", SqlDbType.Int).Value = item.ID; comm.Parameters.Add("@Resposta", SqlDbType.Int).Value = R.ID; comm.Parameters.Add("@Ordem", SqlDbType.Int).Value = ordem; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = R.Usuario; comm.ExecuteNonQuery(); ordem += 1; comm.Parameters.Clear(); } comm.Connection.Close(); return(R.ID); }
/// <summary> /// Retorna um objeto do tipo Resposta Com informação /// Contendo lista de imagens na ordem /// Contendo apenas o ID da Pergunta /// </summary> /// <param name="id"></param> /// <returns></returns> public Resposta Consultar(int id) { SqlCommand comm = new SqlCommand("Select * from Resposta Where ID_Resposta = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Resposta r = new Resposta(); while (dr.Read()) { r.ID = Convert.ToInt32(dr.GetValue(0)); Pergunta p = new Pergunta { ID = Convert.ToInt32(dr.GetValue(1)) }; r.Pergunta = p; r.Titulo = dr.GetValue(2).ToString(); r.Texto = dr.GetValue(3).ToString(); r.Visibilidade = Convert.ToBoolean(dr.GetValue(4)); r.Usuario = Convert.ToInt32(dr.GetValue(5)); } dr.Close(); comm.CommandText = @"Select i.ID_Imagem,ip.Ordem_ImagemResposta from Imagem i inner join ImagemResposta ip on i.ID_Imagem = ip.ID_Imagem Where ip.ID_Resposta = " + id + " order by ip.Ordem_ImagemResposta"; dr = comm.ExecuteReader(); List <Imagem> list = new List <Imagem>(); while (dr.Read()) { Imagem i = new Imagem(); ImagemDAL dal = new ImagemDAL(); i = dal.Consultar(Convert.ToInt32(dr.GetValue(0))); list.Add(i); } r.Imagem = list; comm.Connection.Close(); return(r); }