/// <summary> /// Altera um Exercicio no Banco de daodos /// Precisando apenas do ID do Conteudo /// </summary> /// <param name="E"> Parametro do tipo exercicio | com id </param> public void Alterar(Exercicio E) { SqlCommand comm = new SqlCommand("Select * From Questao Where ID_Exercicio = " + E.ID, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); while (dr.Read()) { SqlCommand comm2 = new SqlCommand("Delete Alternativa Where ID_Questao = " + dr.GetValue(0).ToString(), Banco.Abrir()); comm2.ExecuteNonQuery(); try { comm2.CommandText = "Delete ImagemQuestao Where ID_Questao = " + dr.GetValue(0).ToString(); comm2.ExecuteNonQuery(); } catch { } comm2.Connection.Close(); } dr.Close(); comm.CommandText = "Delete Questao Where ID_Exercicio = " + E.ID; comm.ExecuteNonQuery(); foreach (var item in E.Questao) { QuestaoDAL dal = new QuestaoDAL(); item.ID = dal.Criar(item); foreach (var i in item.Alternativa) { i.Questao = item; AlternativaDAL dalalt = new AlternativaDAL(); dalalt.Criar(i); } } comm.CommandType = System.Data.CommandType.StoredProcedure; comm.CommandText = "AlterarExercicio"; comm.Parameters.Add("@ID", SqlDbType.Int).Value = E.ID; comm.Parameters.Add("@Conteudo", SqlDbType.Int).Value = E.Conteudo.ID; comm.Parameters.Add("@Descricao", SqlDbType.VarChar).Value = E.Descricao; comm.Parameters.Add("@Tipo", SqlDbType.Char).Value = E.Tipo; comm.Parameters.Add("@AleatorioQuestao", SqlDbType.Bit).Value = E.AleatorioQuestao; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = E.Usuario; comm.ExecuteNonQuery(); comm.Connection.Close(); }
/// <summary> /// Retorna um Objeto do tipo Texto Completo /// </summary> /// <param name="id"> parametro do tipo inteiro representando o ID do Texto</param> /// <returns></returns> public Texto Consultar(int id) { SqlCommand comm = new SqlCommand("Select * from Texto Where ID_Texto = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Texto t = new Texto(); while (dr.Read()) { t.ID = Convert.ToInt32(dr.GetValue(0)); t.Tamanho = Convert.ToInt32(dr.GetValue(1)); t.Cor = dr.GetValue(2).ToString(); t.Conteudo = dr.GetValue(3).ToString(); t.Negrito = Convert.ToBoolean(dr.GetValue(4)); t.Italico = Convert.ToBoolean(dr.GetValue(5)); t.Usuario = Convert.ToInt32(dr.GetValue(6)); } comm.Connection.Close(); return(t); }
/// <summary> /// Retorna todo os individuos de um conteudo /// </summary> /// <param name="id">id do conteudo</param> /// <returns></returns> public List <Exercicio> ConsultarTodos(int id) { SqlCommand comm = new SqlCommand("Select * from Exercicio Where ID_Conteudo = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); List <Exercicio> lista = new List <Exercicio>(); while (dr.Read()) { Exercicio e = new Exercicio(); 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)); lista.Add(e); } comm.Connection.Close(); return(lista); }
public void AlterarSemSenha(Usuario U) { SqlCommand comm = new SqlCommand("Select Senha_Usuario from Usuario Where ID_Usuario = " + U.ID, Banco.Abrir()); string senha = comm.ExecuteScalar().ToString(); comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "AlterarUsuario"; comm.Parameters.Add("@ID", SqlDbType.Int).Value = U.ID; comm.Parameters.Add("@Nome", SqlDbType.VarChar).Value = U.Nome; comm.Parameters.Add("@Email", SqlDbType.VarChar).Value = U.Email; comm.Parameters.Add("@Senha", SqlDbType.VarChar).Value = senha; comm.Parameters.Add("@TipoConta", SqlDbType.Char).Value = U.TipoConta; if (U.Foto != null) { comm.Parameters.Add("@Foto", SqlDbType.VarBinary).Value = U.Foto; } comm.ExecuteNonQuery(); comm.Connection.Close(); }
/// <summary> /// Realiza a verificação do login de um Usuario /// Retornando true para logar e false para login incorreto ou inexistente /// </summary> /// <param name="login"> parametro do tipo caracter representando o Email do Usuario</param> /// <param name="senha">parametro do tipo caracter representando a Senha do Usuario</param> /// <returns></returns> public bool Logar(string login, string senha) { SqlCommand comm = new SqlCommand("Select Email_Usuario, Senha_Usuario from Usuario where Email_Usuario = '" + login + "'", Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); string _login = ""; string _senha = ""; while (dr.Read()) { _login = dr.GetValue(0).ToString(); _senha = dr.GetValue(1).ToString(); } if (_login == "") { comm.Connection.Close(); return(false); } else { if (_login == login && _senha == Criptografia.GerarMD5(senha)) { comm.Connection.Close(); return(true); } else { comm.Connection.Close(); return(false); } } }
/// <summary> /// Retorna um objeto do tipo Nota /// </summary> /// <param name="usuario"> parametro do tipo inteiro representando o ID do Usuario</param> /// <param name="exercicio">parametro do tipo inteiro representando o ID do Exercicio</param> /// <returns></returns> public List <Nota> Consultar(int usuario, int exercicio) { SqlCommand comm = new SqlCommand("Select * from Nota where ID_Usuario = " + usuario + " and ID_Exercicio = " + exercicio, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); List <Nota> notas = new List <Nota>(); while (dr.Read()) { Nota n = new Nota(); Exercicio e = new Exercicio { ID = exercicio }; Usuario u = new Usuario { ID = usuario }; n = new Nota { Usuario = u, Exercicio = e, _Nota = Convert.ToDecimal(dr.GetValue(4)), Tentativa = Convert.ToInt32(dr.GetValue(3)), ID = Convert.ToInt32(dr.GetValue(0)) }; notas.Add(n); } comm.Connection.Close(); return(notas); }
/// <summary> /// Deleta uma Imagem na tabela Imagem do banco de dado /// </summary> /// <param name="id">parametro do tipo inteiro represnetando o ID da Imagem</param> public void Deletar(int id) { SqlCommand comm = new SqlCommand("Delete Imagem where ID_Imagem = " + id, Banco.Abrir()); comm.ExecuteNonQuery(); comm.Connection.Close(); }
/// <summary> /// Insere um Desempenho na tabela Desempenho /// Precisando Apenas do ID do Usuario e o ID do Materia /// </summary> /// <param name="D">parametro do tipo Desempenho | com id</param> public void Alterar(Desempenho D) { SqlCommand comm = new SqlCommand(@"Select Count(*) From Materia m inner join Conteudo c on m.ID_Materia = c.ID_Materia inner join Exercicio e on e.ID_Conteudo = c.ID_Conteudo Where m.ID_Materia = " + D.Materia.ID, Banco.Abrir()); decimal quantidade = Convert.ToDecimal(comm.ExecuteScalar()) * 10; decimal notas = 0; comm.CommandText = @"Select e.ID_Exercicio, Max(Nota_Nota) From Materia m inner join Conteudo c on m.ID_Materia = c.ID_Materia inner join Exercicio e on e.ID_Conteudo = c.ID_Conteudo inner join Nota n on n.ID_Exercicio = e.ID_Exercicio Where m.ID_Materia = " + D.Materia.ID + " and n.ID_Usuario = " + D.Usuario.ID + " group by e.ID_Exercicio"; SqlDataReader dr = comm.ExecuteReader(); while (dr.Read()) { notas += Convert.ToDecimal(dr.GetValue(1)); } dr.Close(); comm.CommandType = System.Data.CommandType.StoredProcedure; comm.CommandText = "AlterarDesempenho"; comm.Parameters.Add("@ID", SqlDbType.Int).Value = D.ID; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = D.Usuario.ID; comm.Parameters.Add("@Materia", SqlDbType.Int).Value = D.Materia.ID; if (notas > 0) { comm.Parameters.Add("@Porcentagem", SqlDbType.Decimal).Value = notas / quantidade; } else { comm.Parameters.Add("@Porcentagem", SqlDbType.Decimal).Value = 0; } comm.Parameters.Add("@HorasEstudadas", SqlDbType.Decimal).Value = D.HorasEstudadas; comm.ExecuteNonQuery(); comm.Connection.Close(); }
/// <summary> /// retorna um objeto ConteudoTexto com informações completas do Texto ou imagem ou video completos /// </summary> /// <param name="id">parametro inteiro do id ConteudoTexto</param> /// <returns></returns> 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).ToString() != "") { t = new Texto(); TextoDAL daltex = new TextoDAL(); t = daltex.Consultar(Convert.ToInt32(dr.GetValue(2))); } Conteudo cc = new Conteudo { ID = Convert.ToInt32(dr.GetValue(1)) }; Imagem i = null; if (dr.GetValue(4).ToString() != "") { i = new Imagem(); ImagemDAL dalimg = new ImagemDAL(); i = dalimg.Consultar(Convert.ToInt32(dr.GetValue(4))); } Video v = null; if (dr.GetValue(3).ToString() != "") { 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> /// 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; try { comm.CommandText = "Delete From ConteudoTexto Where ID_Conteudo = " + C.ID; comm.ExecuteNonQuery(); } catch { } 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) { if (item.Texto.ID != 0) { TextoDAL dal = new TextoDAL(); dal.Deletar(item.Texto.ID); } } if (item.Imagem != null) { if (item.Imagem.ID != 0) { ImagemDAL dal = new ImagemDAL(); dal.Deletar(item.Imagem.ID); } } if (item.Video != null) { if (item.Video.ID != 0) { VideoDAL dal = new VideoDAL(); dal.Deletar(item.Video.ID); } } } comm.Connection.Close(); }
/// <summary> /// retorna um objeto do tipo Desempenho contendo apenas o ID do Usuario e o ID Da Materia /// </summary> /// <param name="materia"> parametro do tipo inteiro que representa o id da materia</param> /// <param name="usuario">parametro do tipo inteiro que representa o id do usuario</param> /// <returns></returns> public Desempenho Consultar(int materia, int usuario) { SqlCommand comm = new SqlCommand("Select * from Desempenho where ID_Materia = " + materia + " and ID_Usuario = " + usuario, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Desempenho d = new Desempenho(); while (dr.Read()) { Usuario u = new Usuario(); u.ID = Convert.ToInt32(dr.GetValue(1)); Materia m = new Materia(); m.ID = Convert.ToInt32(dr.GetValue(2)); d = new Desempenho { ID = Convert.ToInt32(dr.GetValue(0)), Usuario = u, Materia = m, Porcentagem = Convert.ToDecimal(dr.GetValue(3)), HorasEstudadas = Convert.ToDecimal(dr.GetValue(4)) }; } comm.Connection.Close(); return(d); }
public List <Conteudo> ConsultarPorMateria(int id) { List <Conteudo> lista = new List <Conteudo>(); SqlCommand comm = new SqlCommand("Select * from Conteudo where ID_Materia = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); while (dr.Read()) { Materia m = new Materia(); m.ID = Convert.ToInt32(dr.GetValue(1)); Conteudo c = new Conteudo { ID = Convert.ToInt32(dr.GetValue(0)), Materia = m, Nome = dr.GetValue(2).ToString(), Ordem = Convert.ToInt32(dr.GetValue(4)), Usuario = Convert.ToInt32(dr.GetValue(5)), Resumo = null, Imagem = null, Exercicio = null, ConteudoTexto = null }; if (dr.GetValue(3) != null) { c.Imagem = dr.GetValue(3) as byte[]; } lista.Add(c); } return(lista); }
/// <summary> /// retorna um objeto do tipo Conteudo /// Contendo so o ID Da Materia /// E um List de ConteudoTexto (completo) já organizado em ordem crescente /// list de resumos vinculado e exercicios completos /// </summary> /// <param name="id"> parametro inteiro do id do conteudo</param> /// <returns></returns> public Conteudo Consultar(int id) { SqlCommand comm = new SqlCommand("Select * from Conteudo where ID_Conteudo = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Conteudo c = new Conteudo(); while (dr.Read()) { Materia m = new Materia(); m.ID = Convert.ToInt32(dr.GetValue(1)); c = new Conteudo { ID = Convert.ToInt32(dr.GetValue(0)), Materia = m, Nome = dr.GetValue(2).ToString(), Ordem = Convert.ToInt32(dr.GetValue(4)), Usuario = Convert.ToInt32(dr.GetValue(5)), ConteudoTexto = null, Exercicio = null, Imagem = null, Resumo = null }; if (dr.GetValue(3) != null) { c.Imagem = dr.GetValue(3) as byte[]; } } dr.Close(); comm.CommandText = "Select ID_ConteudoTexto,Ordem_ConteudoTexto from ConteudoTexto where ID_Conteudo = " + id + " order by Ordem_ConteudoTexto"; dr = comm.ExecuteReader(); List <ConteudoTexto> listacont = new List <ConteudoTexto>(); while (dr.Read()) { ConteudoTextoDAL dalcontext = new ConteudoTextoDAL(); ConteudoTexto ct = new ConteudoTexto(); ct = dalcontext.Consultar(Convert.ToInt32(dr.GetValue(0))); listacont.Add(ct); } c.ConteudoTexto = listacont; dr.Close(); comm.CommandText = "Select ID_Resumo from Resumo where ID_Conteudo = " + id; dr = comm.ExecuteReader(); List <Resumo> listaresumo = new List <Resumo>(); while (dr.Read()) { ResumoDAL dalresu = new ResumoDAL(); Resumo r = new Resumo(); r = dalresu.Consultar(Convert.ToInt32(dr.GetValue(0))); listaresumo.Add(r); } c.Resumo = listaresumo; dr.Close(); comm.CommandText = "Select ID_Exercicio from Exercicio where ID_Conteudo = " + id; dr = comm.ExecuteReader(); List <Exercicio> listaexrs = new List <Exercicio>(); while (dr.Read()) { ExercicioDAL dalex = new ExercicioDAL(); Exercicio e = new Exercicio(); e = dalex.Consultar(Convert.ToInt32(dr.GetValue(0))); listaexrs.Add(e); } c.Exercicio = listaexrs; comm.Connection.Close(); return(c); }
/// <summary> /// Retorna um objeto do tipo imagem (Completo) /// </summary> /// <param name="id"> parametro do tipo inteiro representanto o ID da Imagem </param> /// <returns></returns> public Imagem Consultar(int id) { SqlCommand comm = new SqlCommand("Select * from Imagem Where ID_Imagem = " + id, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Imagem I = new Imagem(); while (dr.Read()) { I.ID = Convert.ToInt32(dr.GetValue(0)); I.Nome = dr.GetValue(1).ToString(); I._Imagem = dr.GetValue(2) as byte[]; I.Extensao = dr.GetValue(3).ToString(); I.Usuario = Convert.ToInt32(dr.GetValue(4)); } comm.Connection.Close(); return(I); }
/// <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); }
/// <summary> /// Deleta informações da tabela conteudotexto sendo pelo id do conteudo /// Limpando todo o ConteudoTexto de Um Conteudo /// </summary> /// <param name="id"> parametro do tipo inteiro sendo o id do Conteudo </param> public void DeletarTudo(int id) { SqlCommand comm = new SqlCommand("Delete ConteudoTexto where ID_Conteudo = " + id, Banco.Abrir()); comm.ExecuteNonQuery(); comm.Connection.Close(); }
/// <summary> /// Insere na tabela nota do banco de Dados Uma nota /// </summary> /// <param name="N"> parametro do tipo Nota | sem id </param> public void Inserir(Nota N) { SqlCommand comm = new SqlCommand("Select Count(*) from Nota Where ID_Usuario = " + N.Usuario.ID + " and ID_Exercicio = " + N.Exercicio.ID, Banco.Abrir()); int tentativa = Convert.ToInt32(comm.ExecuteScalar()) + 1; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "InserirNota"; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = N.Usuario.ID; comm.Parameters.Add("@Exercicio", SqlDbType.Int).Value = N.Exercicio.ID; comm.Parameters.Add("@Nota", SqlDbType.Decimal).Value = Convert.ToDecimal(N._Nota); comm.Parameters.Add("@Tentativa", SqlDbType.Int).Value = tentativa; comm.ExecuteNonQuery(); comm.Connection.Close(); }
/// <summary> /// Retorna um Objeto do tipo inteiro de um Usuario (sem a Senha) /// </summary> /// <param name="login">parametro do tipo Caracter representando o Email do Usuario</param> /// <returns></returns> public Usuario Consultar(string login) { SqlCommand comm = new SqlCommand("Select * from Usuario where Email_Usuario = '" + login + "'", Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Usuario u = new Usuario(); while (dr.Read()) { u = new Usuario { ID = Convert.ToInt32(dr.GetValue(0)), Nome = dr.GetValue(1).ToString(), Email = dr.GetValue(2).ToString(), Senha = null, TipoConta = dr.GetValue(4).ToString(), Foto = null }; if (dr.GetValue(5) != null) { u.Foto = dr.GetValue(5) as byte[]; } } comm.Connection.Close(); return(u); }
public Nota ConsultarUltimo(int usuario, int exercicio) { SqlCommand comm = new SqlCommand("Select Top 1 * from Nota where ID_Usuario = " + usuario + " and ID_Exercicio = " + exercicio + " order by ID_Nota desc", Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Nota n = new Nota(); while (dr.Read()) { Exercicio e = new Exercicio { ID = exercicio }; Usuario u = new Usuario { ID = usuario }; n = new Nota { Usuario = u, Exercicio = e, _Nota = Convert.ToDecimal(dr.GetValue(4)), Tentativa = Convert.ToInt32(dr.GetValue(3)), ID = Convert.ToInt32(dr.GetValue(0)) }; } comm.Connection.Close(); return(n); }
/// <summary> /// Retorna um Objeto do tipo resumo /// Com o conteudo somente retornando com o ID /// </summary> /// <param name="id"> parametro do tipo inteiro representando o ID do Resumo </param> /// <returns></returns> public Resumo Consultar(int id) { SqlCommand comm = new SqlCommand("Select * from Resumo Where ID_Resumo = "+id,Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Resumo r = new Resumo(); while (dr.Read()) { r = new Resumo { ID = Convert.ToInt32(dr.GetValue(0)), Conteudo = new Conteudo { ID = Convert.ToInt32(dr.GetValue(1)) }, NomeArquivo=dr.GetValue(2).ToString(), Arquivo = dr.GetValue(3) as byte[], Extensao = dr.GetValue(4).ToString(), Usuario = Convert.ToInt32(dr.GetValue(5)) }; } comm.Connection.Close(); return r; }