/// <summary> /// 按优先级顺序 RoleID 为 Guid.Empty的 在集合最前面 /// </summary> /// <param name="action"></param> /// <returns></returns> public PointActionItemCollection GetPointActionItems(string action) { PointActionItemCollection tempPointActionItems = new PointActionItemCollection(); PointActionItem tempItem = null; foreach (PointActionItem item in PointActionItems) { if (string.Compare(item.Action, action, true) == 0) { if (item.RoleID == Guid.Empty) { tempItem = item; continue; } int index = tempPointActionItems.Count; for (int i = 0; i < tempPointActionItems.Count; i++) { if (item.RoleSortOrder > tempPointActionItems[i].RoleSortOrder) { index = i; break; } } tempPointActionItems.Insert(index, item); } } PointActionItemCollection results = new PointActionItemCollection(); if (tempItem != null) { results.Add(tempItem); } for (int i = tempPointActionItems.Count - 1; i >= 0; i--) { results.Add(tempPointActionItems[i]); } //if (tempItem != null) // tempPointActionItems.Insert(0,tempItem); return(results); }
public void ClearExperiesData() { //return; PointActionCollection pointActions = new PointActionCollection(); foreach (PointAction pointAction in PointActions) { PointActionType pointActionType = PointActionManager.GetPointActionType(pointAction.Type); if (pointActionType == null) { continue; } //检查nodeID if (pointActionType.HasNodeList && pointAction.NodeID != 0) { bool isExperies = true; foreach (NodeItem item in pointActionType.NodeItemList) { if (item.NodeID == pointAction.NodeID) { isExperies = false; break; } } if (isExperies) { continue; } } PointAction tempPointAction = new PointAction(); //检查roleID PointActionItemCollection pointActionItems = new PointActionItemCollection(); foreach (PointActionItem pointActionItem in pointAction.PointActionItems) { if (pointActionItem.RoleID == Guid.Empty || AllSettings.Current.RoleSettings.Roles.GetValue(pointActionItem.RoleID) != null) { pointActionItems.Add(pointActionItem); } } tempPointAction.PointActionItems = pointActionItems; tempPointAction.NodeID = pointAction.NodeID; tempPointAction.Type = pointAction.Type; pointActions.Add(tempPointAction); } PointActionSettings setting = new PointActionSettings(); setting.PointActions = pointActions; try { SettingManager.SaveSettings(setting); } catch { } }