public static listaMaterias Materias() { listaMaterias listaretorno = new listaMaterias(); listaretorno = MateriaDataAccess.Materias(); if ((Person)HttpContext.Current.Session["Usuario"] is Alumn) { Alumn alumno = MateriaDataAccess.getAlumno(((Person)HttpContext.Current.Session["Usuario"]).Id); var filterList = listaretorno.Subjects.Where(x => !alumno.Subjects.Any(y => y.Id == x.Id)); listaretorno.Subjects = filterList.OrderBy(x => x.name); } return(listaretorno); }
public static ResponseGeneric Inscribirse(int Id) { ResponseGeneric response = new ResponseGeneric(); response.status = false; Alumn alumno = MateriaDataAccess.getAlumno(((Alumn)HttpContext.Current.Session["Usuario"]).Id); Subject materia = MateriaDataAccess.getMateria(Id); if (alumno.Subjects != null) { if (!MateriaDataAccess.AlumnoInscrito(((Alumn)HttpContext.Current.Session["Usuario"]).Id, Id)) { foreach (var item in alumno.Subjects) { foreach (var subitem in item.Schedules) { foreach (var subsubitem in materia.Schedules) { if (subitem.Id == subsubitem.Id) { response.status = true; response.error = "Horarios superpuestos"; } } } } } else { response.status = true; response.error = "Ya estas inscrito en esta materia"; } } if (!response.status) { if (materia.places > 0) { MateriaDataAccess.Inscribirse(alumno.Id, materia.Id); response.error = "Realizado"; } else { response.error = "No quedan cupos disponibles"; } } return(response); }