Beispiel #1
0
        public async Task <IActionResult> CreateOrEdit(UserUpdateOrCreateModel model)
        {
            if (ModelState.IsValid)
            {
                var createOrUpdateUser = _context.Users.Find(model.Id);

                if (createOrUpdateUser != null)
                {
                    createOrUpdateUser.Validity = model.Validity;

                    _context.Update(createOrUpdateUser);

                    await _context.SaveChangesAsync();

                    var role = _context.Roles.Where(p => p.Id == model.RoleId).FirstOrDefault();
                    if (role != null)
                    {
                        var previousRole = _context.UserRoles.Where(p => p.UserId == createOrUpdateUser.Id).ToList();
                        _context.UserRoles.RemoveRange(previousRole);
                        await _context.SaveChangesAsync();

                        await _userManager.AddToRoleAsync(createOrUpdateUser, role.Name);
                    }
                    return(RedirectToAction(nameof(UserSearch)));
                }
            }

            ViewData["RoleId"] = new SelectList(_context.Roles, "Id", "Label", model.RoleId);
            return(View(model));
        }
Beispiel #2
0
        public async Task <IActionResult> CreateOrEdit(long?id)
        {
            UserUpdateOrCreateModel user = new UserUpdateOrCreateModel();

            if (id == null)
            {
                ViewData["RoleId"] = new SelectList(_context.Roles, "Id", "Name");
                ViewData["Action"] = "Create";
                return(View(user));
            }

            var userModel = await _context.Users.FindAsync(id);


            ViewData["Action"] = "Update";
            if (userModel == null)
            {
                return(NotFound());
            }
            var userRoleModel = _context.UserRoles.Where(p => p.UserId == id).FirstOrDefault();
            var roleList      = _context.Roles.ToList();

            if (userRoleModel != null)
            {
                ViewData["RoleId"] = new SelectList(roleList, "Id", "Label", userRoleModel.RoleId);
                user.RoleId        = userRoleModel.RoleId;
            }
            else
            {
                ViewData["RoleId"] = new SelectList(roleList, "Id", "Label");
            }

            user.Id       = userModel.Id;
            user.Username = userModel.UserName;
            user.Validity = userModel.Validity;


            return(View(user));
        }