Пример #1
0
        public ActionResult Create()
        {
            Sidebar();
            var roles = db.RoleGroups.ToList();
            var model = new AdminManageCreateViewModel();

            model.SelRole = new SelectList(roles, "ID", "Name");
            return(View(model));
        }
Пример #2
0
        public ActionResult Edit(AdminManageCreateViewModel model)
        {
            var users     = db.Users.Where(s => s.Id == model.Id || s.UserName == model.UserName);
            var returnUrl = this.GetReturnUrl();

            if (string.IsNullOrWhiteSpace(returnUrl))
            {
                returnUrl = Url.Action("Index");
            }
            if (users.Any(s => s.UserName == model.UserName && s.Id != model.Id))
            {
                ModelState.AddModelError("UserName", "用户名有重复的");
            }

            if (!string.IsNullOrWhiteSpace(model.Password))
            {
                UserManager.RemovePassword(model.Id);
                var result = UserManager.AddPassword(model.Id, model.Password);
                if (!result.Succeeded)
                {
                    foreach (var item in result.Errors)
                    {
                        ModelState.AddModelError("Password", item);
                    }
                }
            }
            if (ModelState.IsValid)
            {
                var user = users.FirstOrDefault(s => s.Id == model.Id);
                if (user == null)
                {
                    return(this.ToError("错误", "用户不存在", returnUrl));
                }
                user.UserName = model.UserName;
                user.NickName = model.NickName;
                if (user.RoleGroupID != model.RoleGroupID)
                {
                    user.RoleGroupID = model.RoleGroupID;
                    _roles.EditUserRoleByGroupID(user.Id, model.RoleGroupID);
                }
                db.SaveChanges();
                return(Redirect(returnUrl));
            }
            var roles = db.RoleGroups.ToList();

            model.SelRole = new SelectList(roles, "ID", "Name");
            return(View(model));
        }
Пример #3
0
        public ActionResult Edit(string id)
        {
            Sidebar();
            var user = db.Users.FirstOrDefault(s => s.Id == id);

            if (user == null)
            {
                return(RedirectToAction("Index"));
            }
            var roles = db.RoleGroups.ToList();
            var model = new AdminManageCreateViewModel
            {
                Id          = user.Id,
                NickName    = user.NickName,
                RoleGroupID = user.RoleGroupID.Value,
                SelRole     = new SelectList(roles, "ID", "Name"),
                UserName    = user.UserName
            };

            return(View(model));
        }
Пример #4
0
        public ActionResult Create(AdminManageCreateViewModel model)
        {
            var user = db.Users.FirstOrDefault(s => s.UserName == model.UserName);

            if (user != null)
            {
                ModelState.AddModelError("UserName", "用户名已被使用");
            }
            if (ModelState.IsValid)
            {
                user = new ApplicationUser
                {
                    UserName          = model.UserName,
                    UserType          = Enums.UserType.System,
                    RegisterDateTime  = DateTime.Now,
                    LastLoginDateTime = DateTime.Now,
                    NickName          = model.NickName,
                    RoleGroupID       = model.RoleGroupID
                };
                var result = UserManager.CreateAsync(user, model.Password);
                if (result.Result.Succeeded)
                {
                    user = db.Users.FirstOrDefault(s => s.UserName == model.UserName);
                    _roles.EditUserRoleByGroupID(user.Id, user.RoleGroupID.Value);
                    var returnUrl = this.GetReturnUrl();
                    if (string.IsNullOrWhiteSpace(returnUrl))
                    {
                        returnUrl = Url.Action("index", new { UserType = Enums.UserType.System });
                    }
                    return(Redirect(returnUrl));
                }
            }
            var roles = db.RoleGroups.ToList();

            model.SelRole = new SelectList(roles, "ID", "Name");
            return(View(model));
        }