Beispiel #1
0
        internal void UnmergeExternalData(string thisAddinId, Hashtable addinsToUnmerge)
        {
            NodeSet.UnmergeExternalData(thisAddinId, addinsToUnmerge);

            var todel = new List <ConditionTypeDescription> ();

            foreach (ConditionTypeDescription cond in Conditions)
            {
                if (cond.AddinId != thisAddinId && (addinsToUnmerge == null || addinsToUnmerge.Contains(cond.AddinId)))
                {
                    todel.Add(cond);
                }
            }
            foreach (ConditionTypeDescription cond in todel)
            {
                Conditions.Remove(cond);
            }

            if (addinsToUnmerge == null)
            {
                Addins.Clear();
            }
            else
            {
                foreach (string s in addinsToUnmerge.Keys)
                {
                    Addins.Remove(s);
                }
            }
            if (thisAddinId != null && !Addins.Contains(thisAddinId))
            {
                Addins.Add(thisAddinId);
            }
        }