Пример #1
0
        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());
        }
Пример #2
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"));
        }
        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));
        }