// GET: Aula/Schedule/5
        public ActionResult Schedule(int?ID)
        {
            if (ID == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Classroom classroom = db.Classrooms.Find(ID);

            if (classroom == null)
            {
                return(HttpNotFound());
            }

            var periodo_actual = int.Parse(Request.Cookies["Periodo"].Value);

            var scheduleClassroom = (from aula in db.Classrooms
                                     join grupo_aula in db.GroupClassrooms on aula.ID equals grupo_aula.ClassroomID
                                     join horario in db.Schedules on grupo_aula.ScheduleID equals horario.ID
                                     join sede in db.Sedes on classroom.SedeID equals sede.ID
                                     join grupo in db.Groups on grupo_aula.GroupID equals grupo.ID
                                     join plan_bloque_curso in db.BlocksXPlansXCourses on grupo.BlockXPlanXCourseID equals plan_bloque_curso.ID
                                     join curso in db.Courses on plan_bloque_curso.CourseID equals curso.ID
                                     join periodo in db.Periods on grupo.PeriodID equals periodo.ID
                                     where (aula.ID == ID) && (periodo.ID == periodo_actual) && (horario.StartHour != "700" && horario.StartHour != "900")

                                     select new
            {
                curso.Name,
                grupo.Number,
                horario.StartHour,
                horario.EndHour,
                horario.Day
            }).ToList();

            var data = new ScheduleDataList();

            scheduleClassroom.ForEach(p => data.add(
                                          p.Day,
                                          (p.Name + "\nGrupo: " + p.Number),
                                          DateTime.Parse(p.StartHour),
                                          DateTime.Parse(p.EndHour),
                                          "Curso")
                                      );

            var viewModel = new ScheduleProfessorViewModel()
            {
                Name         = classroom.Code,
                ScheduleData = data.getData()
            };

            return(View(viewModel));
        }
Beispiel #2
0
        // GET: Professor/Schedule/5
        public ActionResult Schedule(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Professor profesor = db.Professors.Find(id);

            if (profesor == null)
            {
                return(HttpNotFound());
            }

            var actualPeriod = int.Parse(Request.Cookies["Periodo"].Value);
            var data         = new ScheduleDataList();
            var courses      = db.SP_getAllCoursesPerProf(actualPeriod, profesor.Name).ToList();
            var commissions  = db.SP_getAllCommissionsPerProf(actualPeriod, profesor.Name).ToList();
            var projects     = db.SP_getAllProjectsPerProf(actualPeriod, profesor.Name).ToList();

            courses.ForEach(p => data.add(
                                p.Day,
                                (p.Name + "\nGrupo: " + p.Number),
                                DateTime.Parse(p.StartHour),
                                DateTime.Parse(p.EndHour),
                                "Curso")
                            );

            commissions.ForEach(p => data.add(
                                    p.Day,
                                    p.Name,
                                    DateTime.Parse(p.StartHour),
                                    DateTime.Parse(p.EndHour),
                                    "Comisión")
                                );

            projects.ForEach(p => data.add(
                                 p.Day,
                                 p.Name,
                                 DateTime.Parse(p.StartHour),
                                 DateTime.Parse(p.EndHour),
                                 "Proyecto")
                             );

            var viewModel = new ScheduleProfessorViewModel()
            {
                Name         = profesor.Name,
                ScheduleData = data.getData()
            };

            return(View(viewModel));
        }