protected PointActionItemCollection GetPointActionItems(string action)
        {
            PointActionItemCollection items = PointAction.GetPointActionItems(action);

            bool has = false;

            foreach (PointActionItem item in items)
            {
                if (item.RoleID == Guid.Empty)
                {
                    has = true;
                    break;
                }
            }

            if (!has)
            {
                PointActionItem item = new PointActionItem();
                item.Action = action;

                items.Insert(0, item);
            }

            return(items);
        }
Example #2
0
        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
            { }
        }