コード例 #1
0
        public ActionResult AddEmployee(UserAdminVM model)
        {
            EmployeeRepo eRepo = new EmployeeRepo();

            List <Employee> Users       = eRepo.GetAllEmployees();
            var             userManager = HttpContext.GetOwinContext().GetUserManager <UserManager <AppUser> >();

            if (string.IsNullOrWhiteSpace(model.NewUser.UserName) || model.NewUser.UserName.Length < 5)
            {
                ModelState.AddModelError("UserName", "Please enter a username at least 5 characters long");
            }
            if (string.IsNullOrWhiteSpace(model.password1))
            {
                ModelState.AddModelError("password1", "Please enter a password");
            }
            if (string.IsNullOrWhiteSpace(model.password2))
            {
                ModelState.AddModelError("password2", "Please re-enter your password");
            }
            if (model.password1 != model.password2)
            {
                ModelState.AddModelError("password2", "Passwords must match");
            }
            foreach (Employee e in Users)
            {
                if (e.UserName == model.NewUser.UserName)
                {
                    ModelState.AddModelError("UserName", "Usernames must be unique");
                }
            }

            if (ModelState.IsValid)
            {
                var user = new AppUser()
                {
                    UserName  = model.NewUser.UserName,
                    Email     = model.NewUser.Email,
                    FirstName = model.NewUser.Firstname,
                    LastName  = model.NewUser.Lastname,
                };
                userManager.Create(user, model.password1);
                userManager.AddToRole(user.Id, model.NewUser.RoleName);
            }
            UserAdminVM model2 = new UserAdminVM();


            List <Role> Roles = eRepo.GetAllRoles();

            model2.Users = Users;
            model2.Roles = Roles;
            model2.SetRoleChoice(Roles);

            return(View("EmployeeAdmin", model2));
        }
コード例 #2
0
        public ActionResult EmployeeAdmin()
        {
            EmployeeRepo    eRepo = new EmployeeRepo();
            List <Employee> Users = eRepo.GetAllEmployees();
            List <Role>     Roles = eRepo.GetAllRoles();
            UserAdminVM     model = new UserAdminVM();

            model.Users = Users;
            model.Roles = Roles;
            model.SetRoleChoice(Roles);
            return(View(model));
        }
コード例 #3
0
        public ActionResult DisableUser(string UserID)
        {
            EmployeeRepo    eRepo = new EmployeeRepo();
            List <Employee> Users = eRepo.GetAllEmployees();
            List <Role>     Roles = eRepo.GetAllRoles();
            UserAdminVM     model = new UserAdminVM();
            UserAdminVM     m2    = new UserAdminVM();

            eRepo.DisableUser(UserID);
            m2.Users = Users;
            m2.Roles = Roles;
            m2.SetRoleChoice(Roles);
            return(RedirectToAction("EmployeeAdmin", m2));
        }
コード例 #4
0
        public ActionResult EditUser(string UserID)
        {
            EmployeeRepo    eRepo = new EmployeeRepo();
            List <Employee> Users = eRepo.GetAllEmployees();
            List <Role>     Roles = eRepo.GetAllRoles();
            UserAdminVM     model = new UserAdminVM();

            model.Users = Users;
            model.Roles = Roles;
            model.SetRoleChoice(Roles);
            model.NewUser     = eRepo.GetEmployeeByID(UserID);
            model.OldRoleName = model.NewUser.RoleName;
            return(View(model));
        }
コード例 #5
0
        public ActionResult EditUser(UserAdminVM model)
        {
            EmployeeRepo    eRepo = new EmployeeRepo();
            List <Employee> Users = eRepo.GetAllEmployees();
            List <Role>     Roles = eRepo.GetAllRoles();

            model.Users = Users;
            model.Roles = Roles;
            model.SetRoleChoice(Roles);
            var userManager = HttpContext.GetOwinContext().GetUserManager <UserManager <AppUser> >();

            if (ModelState.IsValid)
            {
                eRepo.EditEmployee(model.NewUser);
                if (model.OldRoleName != null)
                {
                    if (model.NewUser.RoleName != model.OldRoleName)
                    {
                        userManager.RemoveFromRole(model.NewUser.EmployeeID, model.OldRoleName);
                        userManager.AddToRole(model.NewUser.EmployeeID, model.NewUser.RoleName);
                    }
                }
                else
                {
                    userManager.AddToRole(model.NewUser.EmployeeID, model.NewUser.RoleName);
                }

                UserAdminVM m2 = new UserAdminVM();

                m2.Users = Users;
                m2.Roles = Roles;
                m2.SetRoleChoice(Roles);
                return(RedirectToAction("EmployeeAdmin", m2));
            }
            else
            {
                return(View("EditUser", model));
            }
        }