public Alumno GetByLogin(LoginWrapper loginWrapper) { using (var context = new TP_20191CEntities()) { //string encodePassword = Sha1.Encode(loginWrapper.Password); return(context.Alumno.FirstOrDefault(x => x.Habilitado && x.Email == loginWrapper.Email && x.Password == loginWrapper.Password)); } }
public IEnumerable <Pregunta> GetAll() { using (var context = new TP_20191CEntities()) { return(context.Pregunta .Include("Clase") .Include("Tema") .Include("RespuestaAlumno") .ToList()); } }
public static void ActualizarPuntosTotales(int idAlumno, long puntos) { using (db = new TP_20191CEntities()) { Alumno alumno = (from a in db.Alumnoes where a.IdAlumno == idAlumno select a).FirstOrDefault(); alumno.PuntosTotales += puntos; db.SaveChanges(); } }
public static List <RespuestaAlumno> GetQuestionRanking(int idPregunta) { using (db = new TP_20191CEntities()) { var query = (from ra in db.RespuestaAlumnoes.Include("Alumno") orderby ra.Puntos descending, ra.MejorRespuesta descending where ra.IdPregunta == idPregunta select ra).Take(10); return(query.ToList()); } }
public static int ValidarExistencia(Pregunta p) { using (db = new TP_20191CEntities()) { var PreguntaExistente = (from Pregunta in db.Preguntas where Pregunta.Nro == p.Nro && Pregunta.IdClase == p.IdClase select Pregunta).Count(); return(PreguntaExistente); } }
public Pregunta GetById(int id) { using (var context = new TP_20191CEntities()) { return(context.Pregunta .Include("Clase") .Include("Tema") .Include("RespuestaAlumno") .FirstOrDefault(x => x.IdPregunta == id)); } }
public List <Alumno> GetRanking() { using (var context = new TP_20191CEntities()) { return(context.Alumno .OrderByDescending(x => x.PuntosTotales) .ThenByDescending(x => x.CantidadRespuestasCorrectas) .ThenByDescending(x => x.CantidadMejorRespuesta) .Take(12) .ToList()); } }
public static List <Pregunta> GetLastQuestions() { using (db = new TP_20191CEntities()) { return((from p in db.Preguntas join ra in db.RespuestaAlumnoes on p.IdPregunta equals ra.IdPregunta orderby p.Nro descending where ra.IdResultadoEvaluacion != null select p).Distinct().OrderByDescending(p => p.Nro).Take(2).ToList()); } }
public void Delete(int id) { using (var context = new TP_20191CEntities()) { Pregunta preguntaToDelete = context.Pregunta.FirstOrDefault(x => x.IdPregunta == id); if (preguntaToDelete != null) { context.Pregunta.Remove(preguntaToDelete); context.SaveChanges(); } } }
public static void DeletePregunta(int idPregunta) { using (db = new TP_20191CEntities()) { int cantidadRespuestas = (from ra in db.RespuestaAlumnoes where ra.IdPregunta == idPregunta select ra).Count(); if (cantidadRespuestas == 0) { Pregunta pregunta = (from p in db.Preguntas where p.IdPregunta == idPregunta select p).FirstOrDefault(); db.Preguntas.Remove(pregunta); db.SaveChanges(); } } }
public List <Pregunta> GetUltimasPreguntasCorregidas() { using (var context = new TP_20191CEntities()) { DateTime fechaHoraActual = DateTime.Now; return(context.Pregunta .Include("RespuestaAlumno") .Include("RespuestaAlumno.Alumno") .Where(x => x.RespuestaAlumno.Any(m => m.IdResultadoEvaluacion != null) && x.FechaDisponibleHasta < fechaHoraActual) .OrderByDescending(y => y.Nro) .Take(2) .ToList()); } }
public static List <Pregunta> GetUnansweredQuestions(int idAlumno) { using (db = new TP_20191CEntities()) { return((from p in db.Preguntas.Include("Clase").Include("Tema") join ra in db.RespuestaAlumnoes on p.IdPregunta equals ra.IdPregunta into agroup from bgroup in agroup.DefaultIfEmpty() where p.FechaDisponibleHasta > DateTime.Now && bgroup.IdRespuestaAlumno == null orderby p.Nro descending select p).ToList()); } }
public static Boolean TieneRespuestas(int idpregunta) { using (db = new TP_20191CEntities()) { RespuestaAlumno respuesta = (from r in db.RespuestaAlumnoes.Include("Profesor").Include("ResultadoEvaluacion") where r.IdPregunta == idpregunta select r).FirstOrDefault(); if (respuesta != null) { return(true); } else { return(false); } } }
public int Insert(RespuestaAlumno entity) { using (var context = new TP_20191CEntities()) { int cantidadRespuestasExistentes = context.RespuestaAlumno.Count(x => x.IdPregunta == entity.IdPregunta); entity.Orden = cantidadRespuestasExistentes + 1; context.RespuestaAlumno.Add(entity); context.SaveChanges(); return(entity.Orden); } }
public static void UpdatePregunta(Pregunta preguntaActualizada) { using (db = new TP_20191CEntities()) { Pregunta preguntaMod = (from p in db.Preguntas where p.IdPregunta == preguntaActualizada.IdPregunta select p).FirstOrDefault(); preguntaMod.Nro = preguntaActualizada.Nro; preguntaMod.IdClase = preguntaActualizada.IdClase; preguntaMod.IdTema = preguntaActualizada.IdTema; preguntaMod.FechaDisponibleDesde = preguntaActualizada.FechaDisponibleDesde; preguntaMod.FechaDisponibleHasta = preguntaActualizada.FechaDisponibleHasta; preguntaMod.Pregunta1 = preguntaActualizada.Pregunta1; preguntaMod.FechaHoraModificacion = DateTime.Now; db.SaveChanges(); } }
public List <Pregunta> GetSinCorregir(int?idPregunta = 0) { using (var context = new TP_20191CEntities()) { return(context.Pregunta .Include("Clase") .Include("Tema") .Include("RespuestaAlumno") .Include("RespuestaAlumno.Alumno") .Where(x => x.RespuestaAlumno.Any(m => m.IdAlumno == UserCache.IdUsuario && m.IdResultadoEvaluacion == null) && (idPregunta == 0 || x.IdPregunta == idPregunta)) .OrderByDescending(y => y.Nro) .ToList()); } }
public List <Pregunta> GetPreguntasSinResponder() { using (var context = new TP_20191CEntities()) { int idAlumnoLogueado = UserCache.IdUsuario; DateTime fechaActual = DateTime.Now; return(context.Pregunta .Include("RespuestaAlumno") .Where(x => !x.RespuestaAlumno.Any(y => y.IdAlumno == idAlumnoLogueado) && ((x.FechaDisponibleHasta == null || x.FechaDisponibleHasta >= fechaActual) && (x.FechaDisponibleDesde == null || x.FechaDisponibleDesde <= fechaActual))) .OrderByDescending(y => y.Nro) .ToList()); } }
public int Insert(Pregunta entity) { using (var context = new TP_20191CEntities()) { entity.IdProfesorCreacion = UserCache.IdUsuario; entity.FechaHoraCreacion = DateTime.Now; entity.IdProfesorModificacion = UserCache.IdUsuario; entity.FechaHoraModificacion = DateTime.Now; context.Pregunta.Add(entity); context.SaveChanges(); return(entity.IdPregunta); } }
public static void ElegirMejorRespuesta(int idRespuesta, int idProfesor) { using (db = new TP_20191CEntities()) { RespuestaAlumno respuesta = (from r in db.RespuestaAlumnoes.Include("Alumno").Include("Pregunta") where r.IdRespuestaAlumno == idRespuesta select r).FirstOrDefault(); respuesta.MejorRespuesta = true; NotifyAlMejorRsta(respuesta, idProfesor); long puntos = CalcularPuntosMejorRespuesta(respuesta); respuesta.Puntos = puntos; db.SaveChanges(); // Actualiza datos en la tabla Alumnos ActualizarPuntosTotales(respuesta.IdAlumno, puntos); ActualizarCantidadDeRespuestas(respuesta.IdAlumno, 4); // Se utiliza 4 para mejor respuesta } }
public static List <RespuestaAlumno> GetRespuestas(int idPregunta, int filtro) { using (db = new TP_20191CEntities()) { var query = from r in db.RespuestaAlumnoes.Include("Alumno").Include("ResultadoEvaluacion") where r.IdPregunta == idPregunta select r; if (filtro > 0) { query = query.Where(r => r.ResultadoEvaluacion.IdResultadoEvaluacion == filtro); } else if (filtro == 0) { query = query.Where(r => r.ResultadoEvaluacion == null); } query = query.OrderBy(r => r.FechaHoraRespuesta); List <RespuestaAlumno> respuestasList = query.ToList(); return(respuestasList); } }
public static void AddRespuesta(RespuestaAlumno ra, int?idPregunta, int idAlumno) { using (db = new TP_20191CEntities()) { ra.IdAlumno = idAlumno; ra.IdPregunta = Convert.ToInt32(idPregunta); ra.FechaHoraRespuesta = DateTime.Now; ra.Orden = Convert.ToInt32((from Ra in db.RespuestaAlumnoes where Ra.IdPregunta == idPregunta orderby Ra.Orden descending select Ra.Orden).FirstOrDefault()) + 1; ra.MejorRespuesta = false; var final = ra; db.RespuestaAlumnoes.Add(ra); db.SaveChanges(); SendRespuestaMail(ra); } }
public IEnumerable <Pregunta> GetAllRespuestasAlumno(int?idPregunta = 0) { using (var context = new TP_20191CEntities()) { DateTime fechaActual = DateTime.Now; return(context.Pregunta .Include("Clase") .Include("Tema") .Include("RespuestaAlumno") .Include("RespuestaAlumno.Alumno") .Where(x => (idPregunta == 0 || x.IdPregunta == idPregunta) && ( (x.FechaDisponibleHasta == null && x.FechaDisponibleDesde == null) || (x.FechaDisponibleDesde <= fechaActual) )) .ToList()); } }
public void SetMejorRespuesta(int idRespuesta, long puntajeMejorRespuesta) { using (var context = new TP_20191CEntities()) { RespuestaAlumno respuestaAlumnoToUpdate = context.RespuestaAlumno.FirstOrDefault(x => x.IdRespuestaAlumno == idRespuesta); if (respuestaAlumnoToUpdate != null) { respuestaAlumnoToUpdate.IdProfesorEvaluador = UserCache.IdUsuario; respuestaAlumnoToUpdate.FechaHoraEvaluacion = DateTime.Now; respuestaAlumnoToUpdate.Puntos = respuestaAlumnoToUpdate.Puntos + puntajeMejorRespuesta; respuestaAlumnoToUpdate.MejorRespuesta = true; respuestaAlumnoToUpdate.Alumno = null; respuestaAlumnoToUpdate.Pregunta = null; respuestaAlumnoToUpdate.Profesor = null; respuestaAlumnoToUpdate.ResultadoEvaluacion = null; context.SaveChanges(); } } }
public void UpdateResultadoEval(RespuestaAlumno respuestaAlumno) { using (var context = new TP_20191CEntities()) { RespuestaAlumno respuestaAlumnoToUpdate = context.RespuestaAlumno.FirstOrDefault(x => x.IdRespuestaAlumno == respuestaAlumno.IdRespuestaAlumno); if (respuestaAlumnoToUpdate != null) { respuestaAlumnoToUpdate.IdProfesorEvaluador = respuestaAlumno.IdProfesorEvaluador; respuestaAlumnoToUpdate.FechaHoraEvaluacion = respuestaAlumno.FechaHoraEvaluacion; respuestaAlumnoToUpdate.IdResultadoEvaluacion = respuestaAlumno.IdResultadoEvaluacion; respuestaAlumnoToUpdate.RespuestasCorrectasHastaElMomento = respuestaAlumno.RespuestasCorrectasHastaElMomento; respuestaAlumnoToUpdate.Puntos = respuestaAlumno.Puntos; respuestaAlumnoToUpdate.MejorRespuesta = respuestaAlumno.MejorRespuesta; respuestaAlumnoToUpdate.Alumno = null; respuestaAlumnoToUpdate.Pregunta = null; respuestaAlumnoToUpdate.Profesor = null; respuestaAlumnoToUpdate.ResultadoEvaluacion = null; context.SaveChanges(); } } }
public static List <PreguntaAlumno> GetPreguntasAlumno(int filtro, int idAlumno) { using (db = new TP_20191CEntities()) { var query = from p in db.Preguntas.Include("Clase").Include("Tema") join ra in db.RespuestaAlumnoes.Include("ResultadoEvaluacion") on p.IdPregunta equals ra.IdPregunta into agroup from bgroup in (from ra in agroup where ra.IdAlumno == idAlumno select ra).DefaultIfEmpty() where p.FechaDisponibleDesde < DateTime.Now orderby p.Nro descending select new PreguntaAlumno { IdPregunta = p.IdPregunta, Nro = p.Nro, Pregunta1 = p.Pregunta1, FechaDisponibleDesde = p.FechaDisponibleDesde, FechaDisponibleHasta = p.FechaDisponibleHasta, Clase = p.Clase, Tema = p.Tema, IdResultadoEvaluacion = bgroup.IdResultadoEvaluacion, ResultadoEvaluacion = bgroup.ResultadoEvaluacion, Orden = bgroup.Orden, Puntos = bgroup.Puntos, MejorRespuesta = (bgroup.MejorRespuesta == null ? false : bgroup.MejorRespuesta), Respuesta = bgroup.Respuesta }; if (filtro >= 0) { query = from p in db.Preguntas.Include("Clase").Include("Tema") join ra in db.RespuestaAlumnoes.Include("ResultadoEvaluacion") on p.IdPregunta equals ra.IdPregunta where ra.IdAlumno == idAlumno orderby p.Nro descending select new PreguntaAlumno { IdPregunta = p.IdPregunta, Nro = p.Nro, Pregunta1 = p.Pregunta1, FechaDisponibleDesde = p.FechaDisponibleDesde, FechaDisponibleHasta = p.FechaDisponibleHasta, Clase = p.Clase, Tema = p.Tema, IdResultadoEvaluacion = ra.IdResultadoEvaluacion, ResultadoEvaluacion = ra.ResultadoEvaluacion, Orden = ra.Orden, Puntos = ra.Puntos, MejorRespuesta = (ra.MejorRespuesta == null ? false : ra.MejorRespuesta), Respuesta = ra.Respuesta }; if (filtro == 0) { query = query.Where(ra => ra.IdResultadoEvaluacion == null); } else { query = query.Where(ra => ra.IdResultadoEvaluacion == filtro); } } List <PreguntaAlumno> preguntasList = query.ToList(); return(preguntasList); } }