public ActionResult RequestQAHelp(QAHelpRequestViewModel qaHelpRequest) { ViewBag.Message = "Request QA Help From Tutor"; GetUIDropdownLists(); if (ModelState.IsValid) { _teacherRepository.RequestQATime(new QAHelpRequest { QAHelpRequestId = qaHelpRequest.QAHelpRequestId, TeacherId = qaHelpRequest.TeacherId, Description = qaHelpRequest.Description, StartTime = DateTime.Now, EndTime = DateTime.Now, StudentId = qaHelpRequest.StudentId, StudentRole = qaHelpRequest.StudentRole, SubjectId = qaHelpRequest.SubjectId, DateCreated = DateTime.Now }); var student = _teacherRepository.GetStudentById(qaHelpRequest.StudentId); var teacher = _teacherRepository.GetTeacherById(qaHelpRequest.TeacherId); var subject = _teacherRepository.GetSubjectById(qaHelpRequest.SubjectId); _emailService.SendEmail(new TicketMasterEmailMessage { EmailFrom = ConfigurationManager.AppSettings["BusinessEmail"], Subject = $"Request Help from {student.StudentLastName } in subject: { subject.SubjectName } and Role {qaHelpRequest.StudentRole}", EmailTo = new List <string> { teacher.EmailAddress, student.EmailAddress }, EmailMessage = $"Request Help from {student.StudentLastName } in subject: { subject.SubjectName } and Role {qaHelpRequest.StudentRole} with the suggested Student request Help times with Start Time at: {qaHelpRequest.StartTime.ToString("dd-MM-yyyy HH:mm")} and End Time {qaHelpRequest.EndTime.ToString("dd-MM-yyyy HH:mm")}. Please await the teacher to confirm by email whether this will be a good time for them. \r\nKindest Regards\r\nMartinLayooInc Team." }); return(View("_SuccessfullCreation", qaHelpRequest)); } return(View()); }
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")); }
public ActionResult ManageTeacher(TeacherViewModel teacherViewModel) { GetUIDropdownLists(); if (teacherViewModel.Select != null) { if (teacherViewModel.TeacherId < 1) { ModelState.AddModelError("TeacherId", "Teacher Id is required"); } if (ModelState.IsValid) { var teacher = _repositoryServices.GetTeacherById(teacherViewModel.TeacherId); teacherViewModel = (TeacherViewModel)Mapper.Map(teacher, typeof(Teacher), typeof(TeacherViewModel)); ModelState.Clear(); return(View("ManageTeacher", teacherViewModel)); } return(View("ManageTeacher", teacherViewModel)); } var teacherModel = (Teacher)Mapper.Map(teacherViewModel, typeof(TeacherViewModel), typeof(Teacher)); if (ModelState.IsValid) { if (teacherViewModel.Delete != null) { var teacher = _repositoryServices.GetTeacherByName(teacherViewModel.EmailAddress); _repositoryServices.DeleteTeacher(teacher); return(View("SuccessfullCreation")); } else { _repositoryServices.ManageTeachers(teacherModel); return(View("SuccessfullCreation")); } } return(View("ManageTeacher", teacherViewModel)); }