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)); }
private void GetTeacherBookingTimes(TeacherCalendarViewModel bookTeacherTime) { var teacherCalendar = _repositoryServices.GetTeacherCalendarByBookingId(bookTeacherTime.CalendarBookingId); Student student = _repositoryServices.GetStudentById(teacherCalendar.StudentId); Subject subject = _repositoryServices.GetSubjectById(teacherCalendar.SubjectId); bookTeacherTime.StudentId = (int)student.StudentId; bookTeacherTime.SubjectId = (int)subject.SubjectId; bookTeacherTime.CalendarBookingId = teacherCalendar.CalendarBookingId; var calendarBookingViewModels = new List <CalendarBookingViewModel>(); student = _repositoryServices.GetStudentById(teacherCalendar.StudentId); subject = _repositoryServices.GetSubjectById(teacherCalendar.SubjectId); bookTeacherTime.StudentId = (int)student.StudentId; bookTeacherTime.SubjectId = (int)subject.SubjectId; bookTeacherTime.CalendarBookingId = teacherCalendar.CalendarBookingId; var classRooms = _repositoryServices.GetClassrooms(); var calendars = _repositoryServices.GetTeacherCalendar(); 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) { student = _repositoryServices.GetStudentById(cal.StudentId); subject = _repositoryServices.GetSubjectById(cal.SubjectId); var teacher = _repositoryServices.GetTeacherById(cal.TeacherId); var bookingTime = _repositoryServices.GetBookingById(cal.BookingTimeId); if (bookingTime == null || teacher.TeacherId != bookTeacherTime.TeacherId) { continue; } calendarBookingViewModels.Add(new CalendarBookingViewModel { Teacher = teacher, Subject = subject, Student = student, BookingTime = bookingTime, ClassroomId = cal.ClassroomId }); } ViewBag.CalendarUiList = calendarBookingViewModels.ToArray(); ModelState.Clear(); }
public ActionResult BookTeacherHelpTime(TeacherCalendarViewModel bookingTimeViewModel) { ViewBag.Message = "Book Teacher Time."; GetUIDropdownLists(); if (ModelState.IsValid) { if (bookingTimeViewModel.Delete != null) { var teacherCalendar = _teacherRepository.GetTeacherCalendarByBookingId(bookingTimeViewModel.CalendarBookingId); _teacherRepository.DeleteTeacherCalendarByBooking(teacherCalendar); return(View("SuccssessfullCreation")); } Teacher teacher = _teacherRepository.GetTeacherByName(User.Identity.Name); Student student = _teacherRepository.GetStudentByName(bookingTimeViewModel.StudentFullName); Subject subject = _teacherRepository.GetSubjectById(bookingTimeViewModel.SubjectId); foreach (var bookingTime in bookingTimeViewModel.BookingTimes) { _teacherRepository.SaveOrUpdateBooking(teacher, student, subject, bookingTime, bookingTimeViewModel.Description); } return(View("SucssessfullCreation")); } return(View("BookTeacherHelpTime", bookingTimeViewModel)); }
public ActionResult BookTeacherHelpTime(TeacherCalendarViewModel bookingTimeViewModel) { ViewBag.Message = "Book Teacher Time."; GetUIDropdownLists(); if (bookingTimeViewModel.CalendarBookingId < 1) { ModelState.AddModelError("Select", "Calendar BookingId required"); } if (bookingTimeViewModel.Select != null) { if (ModelState.IsValid) { var calendarBookingViewModels = new List <CalendarBookingViewModel>(); var calendar = _teacherRepository.GetTeacherCalendarByBookingId(bookingTimeViewModel.CalendarBookingId); Student student = _teacherRepository.GetStudentById(calendar.StudentId); Subject subject = _teacherRepository.GetSubjectById(calendar.SubjectId); bookingTimeViewModel.StudentId = (int)student.StudentId; bookingTimeViewModel.SubjectId = (int)subject.SubjectId; bookingTimeViewModel.CalendarBookingId = calendar.CalendarBookingId; ModelState.Clear(); var calendars = _teacherRepository.GetTeacherCalendar(); 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 }; if (calendarsLeftJoin != null) { foreach (var cal in calendarsLeftJoin) { student = _teacherRepository.GetStudentById(cal.StudentId); 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", bookingTimeViewModel)); } return(View("BookTeacherHelpTime", bookingTimeViewModel)); } if (bookingTimeViewModel.Delete != null) { if (ModelState.IsValid) { var teacherCalendar = _teacherRepository.GetTeacherCalendarByBookingId(bookingTimeViewModel.CalendarBookingId); _teacherRepository.DeleteTeacherCalendarByBooking(teacherCalendar); return(View("SuccessfullCreation")); } return(View("BookTeacherHelpTime", bookingTimeViewModel)); } if (bookingTimeViewModel.SubjectId < 1) { ModelState.AddModelError("Subject", "Subject Id is required"); } if (ModelState.IsValid) { Teacher teacher = _teacherRepository.GetTeacherById(bookingTimeViewModel.TeacherId); Student student = _teacherRepository.GetStudentByName(User.Identity.Name); Subject subject = _teacherRepository.GetSubjectById(bookingTimeViewModel.SubjectId); foreach (var bookingTime in bookingTimeViewModel.BookingTimes) { _teacherRepository.SaveOrUpdateBooking(teacher, student, subject, bookingTime, bookingTimeViewModel.Description); } return(View("SuccessfullCreation")); } return(View("BookTeacherHelpTime", bookingTimeViewModel)); }