コード例 #1
0
        public ActionResult BookTeacherHelpTime(TeacherCalendarUpdateViewModel 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("_SuccessfullCreation"));
                }
                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, new BookingTime {
                        BookingTimeId = bookingTime.BookingTimeId, StartTime = DateTime.Parse(bookingTime.StartTime, new DateTimeFormatInfo {
                            FullDateTimePattern = "yyyy-MM-dd HH:mm"
                        }), EndTime = DateTime.Parse(bookingTime.EndTime, new DateTimeFormatInfo {
                            FullDateTimePattern = "yyyy-MM-dd HH:mm"
                        })
                    }, bookingTimeViewModel.Description);
                }
                var emailService = new EmailServices.EmailService(ConfigurationManager.AppSettings["smtpServer"], ConfigurationManager.AppSettings["smtpServerUser"], ConfigurationManager.AppSettings["smtpServerPassword"]);

                var emailMessage = new System.Net.Mail.MailMessage();

                var fileInfo = new FileInfo(Server.MapPath("~/Infrastructure/EmailTemplates/TeacherBookingTime.html"));
                var html     = fileInfo.OpenText().ReadToEnd();
                html.Replace("{TeacherName}", teacher.EmailAddress);
                html.Replace("{StudentName}", student.EmailAddress);
                html.Replace("{SubjectName}", subject.SubjectName);
                html.Replace("{StartTime}", bookingTimeViewModel.BookingTimes[0].StartTime);
                html.Replace("{EndTime}", bookingTimeViewModel.BookingTimes[0].EndTime);
                emailService.EmailType = EmailType.Html;
                //emailService.SendEmail(new TicketMasterEmailMessage {EmailFrom= student.EmailAddress, EmailMessage = html,EmailTo = new List<string> {student.EmailAddress}, Subject = "Teacher Assistant's Booking Time Schedule"});
                var message = new TicketMasterEmailMessage {
                    EmailFrom = ConfigurationManager.AppSettings["BusinessEmail"], EmailTo = new List <string> {
                        student.EmailAddress
                    }, Subject = "Teacher Assistant's Booking Time Schedule", EmailMessage = html
                };
                emailService.SendEmail(message);
                return(View("_SuccessfullCreation"));
            }
            return(View("BookTeacherHelpTime", bookingTimeViewModel));
        }
コード例 #2
0
 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));
 }
コード例 #3
0
        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));
        }