Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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"));
        }