コード例 #1
0
        private void UpdateUserPermissions(string[] selectedPermissions, User userToUpdate)
        {
            if (selectedPermissions == null)
            {
                userToUpdate.UserPermissions = new List <UserPermission>();
                return;
            }

            var selectedPermissionsHS = new HashSet <string>(selectedPermissions);
            var instructorCourses     = new HashSet <int>
                                            (userToUpdate.UserPermissions.Select(p => p.Permission.PermissionID));

            foreach (var perm in _context.Permissions)
            {
                if (selectedPermissionsHS.Contains(perm.PermissionID.ToString()))
                {
                    if (!instructorCourses.Contains(perm.PermissionID))
                    {
                        userToUpdate.UserPermissions.Add(new UserPermission {
                            UserID = userToUpdate.ID, PermissionID = perm.PermissionID
                        });
                    }
                }
                else
                {
                    if (instructorCourses.Contains(perm.PermissionID))
                    {
                        UserPermission permissionToRemove = userToUpdate.UserPermissions.SingleOrDefault(u => u.PermissionID == perm.PermissionID);
                        _context.Remove(permissionToRemove);
                    }
                }
            }
        }
コード例 #2
0
 public IActionResult DeleteSupplier(long id)
 {
     context.Remove(new Supplier {
         SupplierId = id
     });
     context.SaveChanges();
     return(Ok(id));
 }