private void OnPermissionChanged(object sender, PermissionValueChangedEventArgs e) { var project = sender as Project; if (project != null) { PermissionDetails.ApplyEnabled = true; AddUpdate(project, e.ChangedItem.Group, e.ChangedItem.IsSelected); if (project.RootMaps.Count > 0) { var newValue = e.ChangedItem.IsSelected.HasValue && e.ChangedItem.IsSelected.Value; foreach (var rootMap in project.RootMaps) { if (rootMap.IsInherited) { rootMap.LoadValue(e.ChangedItem.Group, newValue); AddUpdate(rootMap, e.ChangedItem.Group, newValue, !newValue); } } } } else { var rootMap = sender as RootMap; if (rootMap != null) { PermissionDetails.ApplyEnabled = true; AddUpdate(rootMap, e.ChangedItem.Group, e.ChangedItem.IsSelected); } } }
private void OnPermissionChanged(PermissionGroup changedItem, PermissionLevel permissionLevel) { if (PermissionChanged != null) { var args = new PermissionValueChangedEventArgs { ChangedItem = changedItem, PermissionLevel = permissionLevel }; PermissionChanged(this, args); } }