/// <summary> /// When our index changes, update accordingly /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lvEquipment_SelectedIndexChanged(object sender, EventArgs e) { if (lvEquipment.SelectedItems.Count == 1 && lvEquipment.UseWaitCursor == false) { try { MM_Operatorship_Display_Substation Sub = lvEquipment.SelectedItems[0].Tag as MM_Operatorship_Display_Substation; lvEquipment.UseWaitCursor = true; if (Sub.Substation != olView.BaseElement) { if (olView.DataSource == null) { olView.SetControls(Sub.Substation, nMap, BaseData, null, Data_Integration.NetworkSource); } else { olView.LoadOneLine(Sub.Substation, null); } } Thread.Sleep(4000); lvEquipment.UseWaitCursor = false; } catch { } } }
/// <summary> /// Refresh our list of operated equipment /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRefresh_Click(object sender, EventArgs e) { OperatedSubstations.Clear(); MM_Operatorship_Display_Substation FoundSub = null; bool IsMaster = MM_Server_Interface.ClientAreas.Contains("ERCOT"); foreach (MM_Element Elem in MM_Repository.TEIDs.Values) { if (Elem.Substation != null && Elem.ElemType != null && Elem.Operator != null && Elem is MM_Blackstart_Corridor_Element == false && (IsMaster || MM_Server_Interface.ClientAreas.Contains(Elem.Operator.Alias))) { if (!OperatedSubstations.TryGetValue(Elem.Substation.TEID, out FoundSub)) { OperatedSubstations.Add(Elem.Substation.TEID, FoundSub = new MM_Operatorship_Display_Substation(Elem.Substation)); } if (Elem.ElemType.Name == "Breaker") { FoundSub.Breakers++; } else if (Elem.ElemType.Name == "Switch") { FoundSub.Switches++; } else if (Elem.ElemType.Name == "Capacitor") { FoundSub.Capacitors++; } else if (Elem.ElemType.Name == "Reactor") { FoundSub.Reactors++; } else if (Elem.ElemType.Name == "StaticVarCompensator") { FoundSub.SVCs++; } } else if (Elem is MM_Line && (IsMaster || MM_Server_Interface.ClientAreas.Contains(Elem.Operator.Alias))) { foreach (MM_Substation Sub in ((MM_Line)Elem).ConnectedStations) { if (!OperatedSubstations.TryGetValue(Sub.TEID, out FoundSub)) { OperatedSubstations.Add(Sub.TEID, FoundSub = new MM_Operatorship_Display_Substation(Sub)); } FoundSub.Lines++; } } } PropertyInfo[] Properties = typeof(MM_Operatorship_Display_Substation).GetProperties(); lvEquipment.Items.Clear(); lvEquipment.Columns.Clear(); lvEquipment.Columns.Add("Substation"); lvEquipment.Columns.Add("LongName"); /* foreach (PropertyInfo pI in Properties) * lvEquipment.Columns.Add(pI.Name);*/ //Now, write out each element foreach (MM_Operatorship_Display_Substation Sub in OperatedSubstations.Values) { ListViewItem lvI = new ListViewItem(Sub.Substation.Name); lvI.Tag = Sub; lvI.SubItems.Add(Sub.Substation.LongName); /* foreach (PropertyInfo pI in Properties) * lvI.SubItems.Add(((int)pI.GetValue(Sub)).ToString("#,##0"));*/ lvEquipment.Items.Add(lvI); } lvEquipment.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); }