public ActionResult ClassRegister(Models.BindingModels.ClassRegistrationBindingModel classRegistrationInfo)
        {
            if (classRegistrationInfo != null)
            {
                string UserId                      = User.Identity.GetUserId();
                string CustomerUsername            = User.Identity.GetUserName();
                Models.RegistrationClass classInfo = new Models.RegistrationClass();
                classInfo.City       = classRegistrationInfo.City;
                classInfo.DayPerWeek = classRegistrationInfo.SessionPerWeek;
                classInfo.District   = classRegistrationInfo.District;
                if (classRegistrationInfo.Grade != null)
                {
                    classInfo.Grade = db.Grades.SingleOrDefault(s => s.Id == classRegistrationInfo.Grade);
                }

                classInfo.Requirement    = classRegistrationInfo.Requirement;
                classInfo.SalaryPerMonth = classRegistrationInfo.SalaryPerMonth;
                classInfo.Street         = classRegistrationInfo.Street;
                classInfo.Status         = Enums.ClassStatus.WaitingForAdminApproval;
                Customer customer = db.Customers.SingleOrDefault(s => s.UserId == UserId);
                classInfo.Customer = customer;
                if (classRegistrationInfo.Subjects != null && classRegistrationInfo.Subjects.Count > 0)
                {
                    classInfo.Subjects = new List <Subject>();
                    foreach (int id in classRegistrationInfo.Subjects)
                    {
                        classInfo.Subjects.Add(db.Subjects.SingleOrDefault(s => s.Id == id));
                    }
                }

                classInfo.TutoringTime = classRegistrationInfo.TeachingTime;
                classInfo.Ward         = classRegistrationInfo.Ward;
                classInfo.ReceivedDate = null;
                db.RegistrationClasses.Add(classInfo);
                db.SaveChanges();


                try
                {
                    //send to customer
                    EmailSenderService.SendHtmlFormattedEmail(customer.Email, "Đăng kí tìm gia sư",
                                                              EmailSenderService.PopulateBodyRegistrationClassNotificationToCustomer(customer.FullName, classInfo.Id.ToString(), "~/EmailTemplates/ClassRegistrationNotification.html"));
                    //send to admin
                    EmailSenderService.SendHtmlFormattedEmail(AdminEmail, "Có phụ huynh đăng kí tìm gia sư",
                                                              EmailSenderService.PopulateBodyRegistrationClassNotificationToAdmin(customer.FullName, classInfo.Id.ToString(), CustomerUsername, "~/EmailTemplates/ClassRegistrationNotificationToAdmin.html"));
                }
                catch (Exception ex)
                {
                    return(RedirectToAction("PostedClass", "ManageRegistrationClasses"));
                }


                return(RedirectToAction("PostedClass", "ManageRegistrationClasses"));
            }
            return(RedirectToAction("ClassRegistrationForm", "Class"));
        }
Exemple #2
0
 public ActionResult ClassRegister(Models.BindingModels.ClassRegistrationBindingModel classRegistrationInfo)
 {
     if (classRegistrationInfo != null)
     {
         Models.RegistrationClass classInfo = new Models.RegistrationClass();
         classInfo.City           = classRegistrationInfo.City;
         classInfo.DayPerWeek     = classRegistrationInfo.SessionPerWeek;
         classInfo.District       = classRegistrationInfo.District;
         classInfo.Grade          = classRegistrationInfo.Grade;
         classInfo.Requirement    = classRegistrationInfo.Requirement;
         classInfo.SalaryPerMonth = classRegistrationInfo.SalaryPerMonth;
         classInfo.Street         = classRegistrationInfo.Street;
         foreach (int id in classRegistrationInfo.Subjects)
         {
             classInfo.Subjects.Add(db.Subjects.SingleOrDefault(s => s.Id == id));
         }
         classInfo.TutoringTime = classRegistrationInfo.TeachingTime;
         classInfo.Ward         = classRegistrationInfo.Ward;
         classInfo.TutorId      = 1;
         classInfo.CustomerId   = 1;
         return(View("Success"));
     }
     return(View("Error"));
 }