public ActionResult Edit([Bind(Include = "Id,Email,PhoneNumber,UserName,FirstName,MiddleName,LastName")] AspNetUser aspNetUser) { AspNetUser user = null; AspNetUser originalUser = null; if (ModelState.IsValid) { user = db.AspNetUsers.Where(u => u.Id != aspNetUser.Id && u.UserName == aspNetUser.UserName).FirstOrDefault(); if (user != null) { ModelState.AddModelError("UserName", "UserName is not available"); } else { originalUser = db.AspNetUsers.Find(aspNetUser.Id); if (originalUser.Email != aspNetUser.Email) { aspNetUser.EmailConfirmed = false; //reset email confirmation and then send email. } db.Entry(aspNetUser).State = EntityState.Modified; db.SaveChanges(); ApplicationUserManager mgr = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); string code = mgr.GenerateEmailConfirmationToken(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); mgr.SendEmail(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("Index")); } } return(View(aspNetUser)); }
public ActionResult Edit([Bind(Include = "ID,Name,UserDefined")] Category category) { if (ModelState.IsValid) { db.Entry(category).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(category)); }
public ActionResult Edit([Bind(Include = "Id,EmailDomain,EmailAPIKey,DefaultFromAddress")] SystemConfiguration systemConfiguration) { if (ModelState.IsValid) { db.Entry(systemConfiguration).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(systemConfiguration)); }
public ActionResult Edit([Bind(Include = "SchoolID,SchoolName")] School school) { if (ModelState.IsValid) { db.Entry(school).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(school)); }
public ActionResult Edit([Bind(Include = "ID,Name,Location,Cost,RequireChaperone,RequireChaperoneBackgroundCheck,ConsistencyCheck")] Template template) { if (ModelState.IsValid) { template.ModifiedDateTime = DateTime.Now; db.Entry(template).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(template)); }
public ActionResult Edit([Bind(Include = "ID,StudentNumber,FullName,ClassRoomID,SchoolID")] Student student) { int schoolID = -1; List <SelectListItem> SchoolIDs = null; if (ModelState.IsValid) { try { db.Entry(student).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } catch (DbEntityValidationException ex) { ModelState.AddModelError("", "Error updating student"); foreach (DbEntityValidationResult ValidationErrors in ex.EntityValidationErrors) { if (!ValidationErrors.IsValid) { foreach (DbValidationError ValidationError in ValidationErrors.ValidationErrors) { ModelState.AddModelError(ValidationError.PropertyName, ValidationError.ErrorMessage); } } } } catch (Exception ex) { ModelState.AddModelError("", "Error updating student"); ModelState.AddModelError("", ex.Message); foreach (var key in ex.Data.Keys) { ModelState.AddModelError("", key + " :: " + ex.Data[key].ToString()); } } } SchoolIDs = Common.GetSchoolsForDropdown(db, User); ViewBag.SchoolID = SchoolIDs; if (SchoolIDs.Count == 1) { schoolID = int.Parse(SchoolIDs[0].Value); } ViewBag.ClassRoomID = Common.GetClassRoomsForDropdown(db, User, schoolID); return(View(student)); }
public ActionResult Create([Bind(Include = "ClassRoomID,PermissionSlipCategoryID,PermissionSlipTemplateID,Name,Location,StartDateTime,EndDateTime,Cost,RequireChaperone,RequireChaperoneBackgroundCheck,EmailGuardians")] CreatePermissionSlip createPermissionSlip) { if (ModelState.IsValid) { try { PermissionSlip p = new PermissionSlip() { PermissionSlipCategoryID = createPermissionSlip.PermissionSlipCategoryID, PermissionSlipTemplateID = createPermissionSlip.PermissionSlipTemplateID, ClassRoomID = createPermissionSlip.ClassRoomID, Name = createPermissionSlip.Name, Location = createPermissionSlip.Location, StartDateTime = createPermissionSlip.StartDateTime, EndDateTime = createPermissionSlip.EndDateTime, Cost = createPermissionSlip.Cost, RequireChaperone = createPermissionSlip.RequireChaperone, RequireChaperoneBackgroundCheck = createPermissionSlip.RequireChaperoneBackgroundCheck }; db.PermissionSlips.Add(p); db.SaveChanges(); db.Entry(p).Reload(); // Make sure the ID is populated if (createPermissionSlip.EmailGuardians) { List <Student> students = db.ClassRooms.Where(c => c.ID == createPermissionSlip.ClassRoomID).SelectMany(c => c.Students).ToList(); foreach (Student s in students) { foreach (AspNetUser g in s.Guardians) { if (g.EmailConfirmed) { string EmailMessage = "Permission Slip Created for your student's class. " + Url.Action("PermissionSlipApproval", "PermissionSlips", new RouteValueDictionary(new { PermissionSlipID = p.ID, StudentID = s.ID }), protocol: Request.Url.Scheme); //for each guardian of class, send email MailGunUtility.SendSimpleMessage(new EmailMessage() { EmailSubject = "Class Room Permission Slip", ToAddress = g.Email, MessageText = EmailMessage, HtmlMessageText = EmailMessage }); } } } ////for each guardian of class, send email //MailGunUtility.SendSimpleMessage(new EmailMessage() //{ // MessageText = "Permission Slip Created for your student's class" //}); } return(RedirectToAction("Index")); } catch (Exception ex) { } } InitializeViewBagsForCreate(); return(View(createPermissionSlip)); }
public ActionResult Edit([Bind(Include = "ID,RoomNumber,TeacherUserID,SchoolID,Students")] ClassRoom classRoom) { List <Student> currentStudents = null; List <Student> remainingStudents = null; List <SelectListItem> SchoolList = null; if (ModelState.IsValid) { try { classRoom.SetModified(); db.Entry(classRoom).State = EntityState.Modified; //Delete Students that are no longer there remainingStudents = classRoom.Students.ToList(); currentStudents = db.Students.Where(s => s.ClassRoomID == classRoom.ID).ToList(); foreach (Student s in currentStudents.Where(o => !remainingStudents.Any(s => s.ID == o.ID))) { classRoom.Students.Remove(s); db.Students.Remove(s); } foreach (Student s in remainingStudents) { db.Entry(s).State = EntityState.Modified; } db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { string Message = "Error Saving Changes"; string InnerMessage = ""; Exception inner = ex.InnerException; while (inner != null) { InnerMessage = " :: " + inner.Message; inner = inner.InnerException; } Message += InnerMessage; ModelState.AddModelError("", Message); } } SchoolList = Common.GetSchoolsForDropdown(db, User); ViewBag.SchoolID = SchoolList; if (User.IsInRole("Teacher")) { ViewBag.TeacherUserID = Common.GetTeachersForDropdown(db, User, User.Identity.GetUserId()); } else if (SchoolList.Count == 1) //Will get Picked based on School { ViewBag.TeacherUserID = Common.GetTeachersForDropdown(db, User, "", int.Parse(SchoolList[0].Value)); } else { ViewBag.TeacherUserID = new SelectList(new List <AspNetUser>(), "Id", "FullName"); } return(View(classRoom)); }
public ActionResult AddStudent([Bind(Include = "ID,StudentNumber,FullName,SchoolID")] AddStudentViewModel model) { Student existingStudent = null; Student student = null; if (ModelState.IsValid) { try { if (model.ID != null) { existingStudent = EntityDB.Students.Find(model.ID); } student = EntityDB.Students.Where(s => s.StudentNumber == model.StudentNumber).FirstOrDefault(); if (existingStudent != null && student != null) { if (existingStudent.StudentNumber != student.StudentNumber || existingStudent.FullName != student.FullName || existingStudent.SchoolID != student.SchoolID) { throw new Exception("Student cannot be verified. Double check information and try again. Contact the school administrator if the issues persists"); } } if ((student != null) && (student.FullName == model.FullName) && (student.SchoolID == model.SchoolID)) { //TODO : Add Guardian/Student Record and Guardian/School if not already existing. AspNetUser user = EntityDB.AspNetUsers.Find(User.Identity.GetUserId()); Student userStudent = user.Students.Where(s => s.StudentNumber == model.StudentNumber).FirstOrDefault(); if ((user != null) && (userStudent == null) && (((student.Guardian1TempEmail != null) && student.Guardian1TempEmail.Equals(user.Email, StringComparison.CurrentCultureIgnoreCase)) || ((student.Guardian2TempEmail != null) && student.Guardian2TempEmail.Equals(user.Email, StringComparison.CurrentCultureIgnoreCase)))) { user.Students.Add(student); if ((student.Guardian1TempEmail != null) && student.Guardian1TempEmail.Equals(user.Email, StringComparison.CurrentCultureIgnoreCase)) { student.Guardian1TempEmail = null; } else { student.Guardian2TempEmail = null; } EntityDB.Entry(student).State = EntityState.Modified; EntityDB.Entry(user).State = EntityState.Modified; EntityDB.SaveChanges(); return(RedirectToAction("Index", new { Message = ManageMessageId.AddStudentSuccess })); } else if (userStudent != null) { ModelState.AddModelError("", "Student Number already added"); } else if ((student.Guardian1TempEmail != user.Email) && (student.Guardian2TempEmail != user.Email)) { ModelState.AddModelError("", "Student cannot be verified. Double check information and try again. Contact the school administrator if the issues persists"); } else { ModelState.AddModelError("", "Unable to manage user account. Log off/on and try adding the student again. Contact support if the issue continues"); } } else { ModelState.AddModelError("", "Student cannot be verified. Double check information and try again. Contact the school administrator if the issues persists"); } } catch (Exception ex) { ModelState.AddModelError("", "Exception adding Student. Double check information and try again. Contact the school administrator if the issues persists. :: " + ex.ToString()); } } ViewBag.SchoolID = new SelectList(EntityDB.Schools.ToList(), "SchoolID", "SchoolName"); return(View(model)); }