private void ShowOrHideMarkedAssociation(Element element, PowerDStatus status, bool show) { if (show) { elementControl.ShowOrHidePowerDElement(element, status, show); elementControl.SyncHeadingElement(element); } else { elementControl.ShowOrHidePowerDElement(element, status, show); //elementControl.SyncHeadingElement(element); } }
public void ShowOrHidePowerDElement(Element parent, PowerDStatus status, bool show) { try { DatabaseControl temp_dbControl; List<Element> allElements = new List<Element>(); if (parent.Path != root.Path) { temp_dbControl = new DatabaseControl(parent.Path); temp_dbControl.OpenConnection(); temp_dbControl.DO_NOT_UPDATE_POWERDREGION = true; allElements = temp_dbControl.GetAllElementFromXML(); } else { temp_dbControl = dbControl; temp_dbControl.DO_NOT_UPDATE_POWERDREGION = true; allElements = temp_dbControl.GetAllElementFromXML(); temp_dbControl.DO_NOT_UPDATE_POWERDREGION = false; } for (int i = allElements.Count - 1; i >= 0; i--) { if (allElements[i].PowerDStatus == status) { //allElements[i].ParentElement = parent; if (show) { allElements[i].IsVisible = Visibility.Visible; } else { allElements[i].IsVisible = Visibility.Collapsed; for (int j = parent.Elements.Count - 1; j >= 0 ; j--) { if (parent.Elements[j].ID == allElements[i].ID) { parent.Elements.RemoveAt(j); break; } } } UpdateElement(allElements[i]); } else { continue; } } } catch (Exception ex) { } }