/// <summary> /// When the corridor target changes, update the primary/secondary /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbCorridorTarget_SelectedIndexChanged(object sender, EventArgs e) { cmbPrimarySecondary.Items.Clear(); MM_Blackstart_Corridor_Target Target = cmbCorridorTarget.SelectedItem as MM_Blackstart_Corridor_Target; if (Target != null) { if (Target.Primary != null) { cmbPrimarySecondary.Items.Add("Primary"); } if (Target.Secondary != null) { cmbPrimarySecondary.Items.Add("Secondary"); } if (cmbPrimarySecondary.Items.Count > 0) { cmbPrimarySecondary.SelectedIndex = 0; } } }
/// <summary> /// When the primary/secondary path is selected, display all of our elements /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbPrimarySecondary_SelectedIndexChanged(object sender, EventArgs e) { try { lvItems.Columns.Clear(); lvItems.Items.Clear(); lvItems.View = View.Details; lvItems.Columns.Add("#"); lvItems.Columns.Add("Action"); lvItems.Columns.Add("Subsatation"); lvItems.Columns.Add("Type"); lvItems.Columns.Add("Element"); lvItems.Columns.Add("Operator"); lvItems.FullRowSelect = true; lvItems.CheckBoxes = true; MM_Blackstart_Corridor_Target Target = cmbCorridorTarget.SelectedItem as MM_Blackstart_Corridor_Target; FieldInfo fI = Target.GetType().GetField(cmbPrimarySecondary.Text); if (Target != null && fI != null) { MM_Blackstart_Corridor_Element[] Elems = fI.GetValue(Target) as MM_Blackstart_Corridor_Element[]; MM_Substation LastSub = null; for (int a = 0; a < Elems.Length; a++) { try { ListViewItem lvI = new ListViewItem((a + 1).ToString("#,##0")); lvI.UseItemStyleForSubItems = true; if (MM_Server_Interface.Client != null && Array.IndexOf(Data_Integration.UserOperatorships, 999999) == -1 && Array.IndexOf(Data_Integration.UserOperatorships, Elems[a].AssociatedElement.Operator.TEID) == -1) { lvI.ForeColor = Color.Gray; } lvI.SubItems.Add(Elems[a].Action.ToString()); if (Elems[a].AssociatedElement != null) { MM_Element Elem = Elems[a].AssociatedElement; if (Elem is MM_Line) { MM_Line Line = (MM_Line)Elem; if (LastSub == Line.Substation2) { lvI.SubItems.Add(Line.Substation2.Name + " to " + Line.Substation1.Name); } else { lvI.SubItems.Add(Line.Substation1.Name + " to " + Line.Substation2.Name); } LastSub = Line.Substation2; } else { lvI.SubItems.Add(Elem.Substation.Name); LastSub = Elem.Substation; } lvI.SubItems.Add(Elem.ElemType.Name); lvI.SubItems.Add(MM_Repository.TitleCase(Elem.Name)); lvI.SubItems.Add(Elem.Operator.Alias.Substring(0, 1) + MM_Repository.TitleCase(Elem.Operator.Alias.Substring(1))); } else { if (Elems[a].Substation == null) { lvI.SubItems.Add("?"); } else { lvI.SubItems.Add(MM_Repository.TitleCase(Elems[a].Substation.Name)); } lvI.SubItems.Add("?"); lvI.SubItems.Add("?"); lvI.SubItems.Add("?"); lvI.ForeColor = Color.Red; lvI.UseItemStyleForSubItems = true; } lvI.Tag = Elems[a]; lvItems.Items.Add(lvI); } catch (Exception ex) { MM_System_Interfaces.LogError(ex); } } tmrUpdate_Tick(tmrUpdate, EventArgs.Empty); lvItems.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); } } catch (Exception) { } }