public IActionResult Edit(UserModel model)
        {
            var entity = this.dbContext.Users.FirstOrDefault(x => x.Id == model.Id);

            if (entity == null)
            {
                entity = new ApplicationUserEntity();
                this.dbContext.Users.Add(entity);
            }
            var assignedRoles = this.dbContext.UserRoles.Where(x => x.UserId == model.Id);

            foreach (var assignedRole in assignedRoles)
            {
                this.dbContext.UserRoles.Remove(assignedRole);
            }
            this.dbContext.SaveChanges();

            foreach (var modelSelectedRole in model.SelectedRoles)
            {
                ApplicationRoleEntity role = this.dbContext.Roles.FirstOrDefault(x => x.Id == modelSelectedRole);
                this.dbContext.UserRoles.Add(new IdentityUserRole <long>
                {
                    RoleId = role.Id,
                    UserId = model.Id
                });
            }

            this.dbContext.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public IActionResult Edit(long?id)
        {
            ApplicationRoleEntity entity = id.HasValue
                ? this.dbContext.Roles.FirstOrDefault(x => x.Id == id.Value) : new ApplicationRoleEntity();

            return(View(entity));
        }
        public IActionResult Edit(ApplicationRoleEntity model)
        {
            var entity = this.dbContext.Roles.FirstOrDefault(x => x.Id == model.Id);

            if (entity == null)
            {
                entity = new ApplicationRoleEntity();
                this.dbContext.Roles.Add(entity);
            }

            entity.Name = model.Name;

            this.dbContext.SaveChanges();

            return(RedirectToAction("Index"));
        }