public ActionResult TeachersCalendar()
        {
            GetUIDropdownLists();
            ViewBag.Message = "Teachers Calendar.";
            var calendars = _repositoryServices.GetTeacherCalendar();

            if (calendars == null)
            {
                ModelState.AddModelError("NoTeacherCalendar", "Teacher hasn't a calendar booking");
            }
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var calendarBookingViewModels = new List <CalendarBookingViewModel>();
            var classRooms = _repositoryServices.GetClassrooms();

            if (calendars != null)
            {
                var calendarsLeftJoin = from cal in calendars
                                        join cls in classRooms on
                                        cal.CalendarBookingId equals cls.CalendarId into res
                                        from q in res.DefaultIfEmpty()
                                        select new
                {
                    ClassroomId   = q == null ? null : q.ClassroomId,
                    SubjectId     = cal.SubjectId,
                    TeacherId     = cal.TeacherId,
                    StudentId     = cal.StudentId,
                    BookingTimeId = cal.BookingTimeId
                };


                foreach (var cal in calendarsLeftJoin)
                {
                    var student     = _repositoryServices.GetStudentById(cal.StudentId);
                    var subject     = _repositoryServices.GetSubjectById(cal.SubjectId);
                    var teacher     = _repositoryServices.GetTeacherById(cal.TeacherId);
                    var bookingTime = _repositoryServices.GetBookingById(cal.BookingTimeId);

                    if (bookingTime == null)
                    {
                        continue;
                    }
                    calendarBookingViewModels.Add(new CalendarBookingViewModel {
                        ClassroomId = cal.ClassroomId, Teacher = teacher, Subject = subject, Student = student, BookingTime = bookingTime
                    });
                }
            }
            ViewBag.CalendarUiList = calendarBookingViewModels.ToArray();

            return(PartialView("TeachersCalendar", calendarBookingViewModels.Count() > 0 ? calendarBookingViewModels.ToArray()[calendarBookingViewModels.Count() - 1] : null));
        }
        public ActionResult TeachersCalendar(string teacherEmail)
        {
            ViewBag.Message = "Teachers Calendar.";
            var teacher  = _teacherRepository.GetTeacherByName(teacherEmail);
            var calendar = _teacherRepository.GetTeacherCalendar(teacher.TeacherId ?? 1);
            var teacherCalendarViewModelList = new List <TeacherCalendarViewModel>();

            var bookingTimes = new List <BookingTime>();

            if (calendar != null)
            {
                foreach (var cal in calendar)
                {
                    var teacherCalendarViewModel = new TeacherCalendarViewModel();
                    teacherCalendarViewModel.CalendarBookingId = (int)calendar.FirstOrDefault().CalendarBookingId;
                    teacherCalendarViewModel.BookingTimes      = bookingTimes.ToArray();
                    teacherCalendarViewModel.ClassId           = (int)calendar.FirstOrDefault().ClassId;
                    teacherCalendarViewModel.Description       = calendar.FirstOrDefault().Description;
                    teacherCalendarViewModel.TeacherId         = calendar.FirstOrDefault().TeacherId;
                    teacherCalendarViewModel.StudentId         = calendar.FirstOrDefault().StudentId;
                    teacherCalendarViewModel.SubjectId         = calendar.FirstOrDefault().SubjectId;
                    teacherCalendarViewModel.TeacherFullName   = calendar.FirstOrDefault().TeacherFullName;
                    teacherCalendarViewModel.StudentFullName   = calendar.FirstOrDefault().StudentFullName;
                    teacherCalendarViewModel.StudentTypeId     = Int32.Parse(calendar.FirstOrDefault().StudentTypeId);
                    ViewBag.CalendarUiBookingList = calendar.Select(p => p.BookingTime).ToArray();
                    teacherCalendarViewModelList.Add(teacherCalendarViewModel);
                }
            }
            ViewBag.CalendarUiList = teacherCalendarViewModelList.ToArray();
            return(View("TeachersCalendar", teacherCalendarViewModelList.Count() > 0 ? teacherCalendarViewModelList.ToArray()[teacherCalendarViewModelList.Count() - 1] : null));
        }
Beispiel #3
0
        public ActionResult BookTeacherHelpTime()
        {
            ViewBag.Message = "Book Teacher Time.";
            GetUIDropdownLists();

            var calendars = _teacherRepository.GetTeacherCalendar();
            var calendarBookingViewModels = new List <CalendarBookingViewModel>();

            if (calendars != null)
            {
                var classRooms = _teacherRepository.GetClassrooms();

                var calendarsLeftJoin = from cal in calendars
                                        join cls in classRooms on
                                        cal.CalendarBookingId equals cls.CalendarId into res
                                        from q in res.DefaultIfEmpty()
                                        select new
                {
                    ClassroomId   = q == null ? null : q.ClassroomId,
                    SubjectId     = cal.SubjectId,
                    TeacherId     = cal.TeacherId,
                    StudentId     = cal.StudentId,
                    BookingTimeId = cal.BookingTimeId
                };
                foreach (var cal in calendarsLeftJoin)
                {
                    var student     = _teacherRepository.GetStudentById(cal.StudentId);
                    var subject     = _teacherRepository.GetSubjectById(cal.SubjectId);
                    var teacher     = _teacherRepository.GetTeacherById(cal.TeacherId);
                    var bookingTime = _teacherRepository.GetBookingById(cal.BookingTimeId);

                    if (bookingTime == null)
                    {
                        continue;
                    }
                    calendarBookingViewModels.Add(new CalendarBookingViewModel {
                        Teacher = teacher, Subject = subject, Student = student, BookingTime = bookingTime, ClassroomId = cal.ClassroomId
                    });
                }
            }
            ViewBag.CalendarUiList = calendarBookingViewModels.ToArray();


            return(View("BookTeacherHelpTime"));
        }