public void AddPermission(PresetUserPermissionSource permissionSource) { if (permissionSource == null) { return; } ObservablePermissionsSourceList.Remove(permissionSource); PresetUserPermission savedPermission; var foundOriginalPermission = originalPermissionList.FirstOrDefault(x => x.PermissionSource == permissionSource); if (foundOriginalPermission == null) { savedPermission = new PresetUserPermission() { User = user, PermissionName = permissionSource.Name }; ObservablePermissionsList.Add(savedPermission); } else { if (deletePermissionList.Contains(foundOriginalPermission)) { deletePermissionList.Remove(foundOriginalPermission); } savedPermission = foundOriginalPermission; ObservablePermissionsList.Add(savedPermission); } }
public void DeletePermission(PresetUserPermission deletedPermission) { if (deletedPermission == null) { return; } if (!deletedPermission.IsLostPermission) { ObservablePermissionsSourceList.Add(deletedPermission.PermissionSource); } ObservablePermissionsList.Remove(deletedPermission); if (deletedPermission.Id != 0) { deletePermissionList.Add(deletedPermission); } }