/// <summary> /// Deserialize the infotmation from XML node /// </summary> /// <param name="displaySetNode"></param> /// <param name="version"></param> public void Deserialize(XmlNode displaySetNode, string version) { Name = displaySetNode.Attributes["Name"].Value; // Is a custom DisplaySet Custom = true; // Get all DisplaySet items XmlNodeList lItemNodes = displaySetNode.SelectNodes("DisplaySetItem"); foreach (XmlNode lItemNode in lItemNodes) { DisplaySetItem item = new DisplaySetItem(); item.Deserialize(lItemNode, version); DisplaySetItems.Add(item); } // Get Service info node XmlNodeList lServiceNodes = displaySetNode.SelectNodes("ServiceInfo"); if (lServiceNodes.Count == 1) { ServiceInfo = new DisplaySetServiceInfo(); ServiceInfo.Deserialize(lServiceNodes[0], version); } }
/// <summary> /// Copy constructor /// </summary> /// <param name="displaySetName"></param> public DisplaySetInformation(DisplaySetInformation displaySetToBeCopied) : this(displaySetToBeCopied.Name) { Custom = displaySetToBeCopied.Custom; foreach (DisplaySetItem item in displaySetToBeCopied.DisplaySetItems) { DisplaySetItem newItem = new DisplaySetItem(item); DisplaySetItems.Add(newItem); } if (displaySetToBeCopied.ServiceInfo != null) { ServiceInfo = new DisplaySetServiceInfo(displaySetToBeCopied.ServiceInfo); } }
/// <summary> /// Initialize the DisplaySet elements /// Checks the visibility and assign the proper alias /// </summary> public void Initialize() { // Configure or eliminate from the list the elements with no visibility List <DisplaySetItem> itemsToBeDeleted = new List <DisplaySetItem>(); foreach (DisplaySetItem lItem in DisplaySetItems) { if (!Logic.Agent.IsActiveFacet(lItem.Agents)) { itemsToBeDeleted.Add(lItem); } else { lItem.Alias = CultureManager.TranslateString(lItem.IdXML, lItem.Alias); } } foreach (DisplaySetItem lItem in itemsToBeDeleted) { DisplaySetItems.Remove(lItem); } CheckEditableItems(); }