public ActionResult Activate() { string userId = User.Identity.GetUserId(); var man = db.Managers.Find(userId); var teachers = new List <Teacher>(); teachers = (from i in man.school.Teachers.ToList() orderby i.ApplicationUser.fullName ascending where i.active == false select i).ToList(); var model = new TeachersSelectionViewModel(); foreach (var teacher in teachers) { var editorViewModel = new SelectTeacherEditorViewModel() { Id = teacher.Id, Name = teacher.ApplicationUser.fullName, idNo = teacher.idNo, Selected = false }; model.Teachers.Add(editorViewModel); } return(View(model)); }
public async Task <ActionResult> ApproveSelected(TeachersSelectionViewModel model) { string userId = User.Identity.GetUserId(); var man = db.Managers.Find(userId); var selectedIds = model.getSelectedIds(); var selectedTeachers = (from x in man.school.Teachers where selectedIds.Contains(x.Id) select x); foreach (var teacher in selectedTeachers) { var user = db.Users.Find(teacher.Id); await this.UserManager.RemoveFromRoleAsync(user.Id, "GuestT"); await this.UserManager.AddToRoleAsync(user.Id, "Teacher"); teacher.active = true; teacher._date = DateTime.Now; if (user.Teacher.deactivatedTeacher != null) { db.DeactivatedTeachers.Remove(user.Teacher.deactivatedTeacher); } } db.SaveChanges(); return(RedirectToAction("Index")); }