public static IEnumerable <object> GetHorariosGuardia(DateTime currentDateTime) { var horarios = StaticReferences.Context.ImpartimientoDbSet; var currentHour = currentDateTime.Hour; var currentMinute = currentDateTime.Minute; var currentDay = currentDateTime.DayOfWeek; var currentDayByte = (byte)(currentDay > 0 ? (byte)currentDay - 1 : 5); var horariosDelProfesor = horarios .Where(i => i.Horario.Dia.Equals(currentDayByte + 1) && (currentHour >= i.HoraInicio.Hour && currentHour <= i.HoraFinal.Hour) && (currentMinute >= i.HoraInicio.Minute && currentMinute <= i.HoraFinal.Minute)) .AsEnumerable() .OrderBy(i => i.Horario) .Select(i => new { Dia = (WeekEnum)i.Dia, HoraInicio = AlumnoFunctionality.ExtractHour(i.HoraInicio), HoraFinal = AlumnoFunctionality.ExtractHour(i.HoraFinal), Aula = i.Aula.Codificate(), Asignatura = i.Horario.Asignatura.Nombre, Curso = i.CursoNombre, }); return(horariosDelProfesor); }
public IEnumerable <dynamic> GetListByUser(ViewsEnum user, Profesor profesor = null) { var joiner = Constants.StringJoiner; switch (user) { case ViewsEnum.Alumno: return(AlumnoFunctionality.GetProfesores()); case ViewsEnum.Profesor: return(ProfesorFunctionality.GetAlumnos(profesor)); case ViewsEnum.Administrativo: case ViewsEnum.Administrador: default: return(StaticReferences.Context.PersonaDbSet .Select(p => new PersonaViewModel { Dni = p.Dni, Nif = p.Nif, Nombre = p.Nombre, Apellidos = p.Apellidos, Direccion = string.Concat(p.Calle, joiner, p.Patio, joiner, p.Piso, joiner, p.Puerta), }).AsEnumerable()); } }
public static IEnumerable <object> GetHorarios(Profesor profesor) { return(StaticReferences.Context.ImpartimientoDbSet .AsEnumerable() .Where(i => i.Profesor1.Equals(profesor)) .OrderBy(i => i.Horario) .Select(i => new { Dia = (WeekEnum)i.Dia, HoraInicio = AlumnoFunctionality.ExtractHour(i.HoraInicio), HoraFinal = AlumnoFunctionality.ExtractHour(i.HoraFinal), Aula = i.Aula.Codificate(), Asignatura = i.Horario.Asignatura.Nombre, Curso = i.CursoNombre, })); }