/// <summary> /// Process the command /// </summary> /// <param name="InLine"></param> private static void ProcessCommand(String[] InLine) { MM_Element Element = null; if (InLine.Length == 3) { if (InLine[1].Equals("Substation", StringComparison.CurrentCultureIgnoreCase)) { MM_Substation FoundSub; if (MM_Repository.Substations.TryGetValue(InLine[2], out FoundSub)) { Element = FoundSub; } else { foreach (MM_Substation Sub in MM_Repository.Substations.Values) { if (Sub.LongName.Equals(InLine[2], StringComparison.CurrentCultureIgnoreCase)) { Element = Sub; break; } } } } else if (InLine[1].Equals("Line", StringComparison.CurrentCultureIgnoreCase)) { Element = MM_Repository.Lines[InLine[2]]; } else if (InLine[1].Equals("Contingency", StringComparison.CurrentCultureIgnoreCase)) { Element = MM_Repository.Contingencies[InLine[2]]; } else { Element = MM_Repository.LocateElement(InLine[2].Split('.')[0], InLine[2].Split('.')[1], InLine[1], ""); } } else if (InLine.Length == 2) { Int32 TryNum; if (!Int32.TryParse(InLine[1], out TryNum) || !MM_Repository.TEIDs.TryGetValue(TryNum, out Element)) { return; } } if (InLine[0].Equals("Search", StringComparison.CurrentCultureIgnoreCase)) { MM_Form_Builder.SearchDisplay(Map.ctlNetworkMap, InLine[1], false, false); } else if (InLine[0].Equals("Message", StringComparison.CurrentCultureIgnoreCase)) { MM_System_Interfaces.MessageBox("Message received: " + String.Join(" ", InLine, 1, InLine.Length - 1), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (InLine[0].Equals("Zoom", StringComparison.CurrentCultureIgnoreCase)) { if (Element is MM_AlarmViolation) { Element = (Element as MM_AlarmViolation).ViolatedElement; } if (Element is MM_Substation) { Map.ctlNetworkMap.Coordinates.Center = ((Element as MM_Substation).LngLat); Map.ctlNetworkMap.Coordinates.UpdateZoom(MM_Repository.OverallDisplay.StationZoomLevel); } else if (Element is MM_Line) { Map.ctlNetworkMap.Coordinates.Center = (((Element as MM_Line).Midpoint)); Map.ctlNetworkMap.Coordinates.UpdateZoom(MM_Repository.OverallDisplay.StationZoomLevel); } else if (Element.Substation != null) { Map.ctlNetworkMap.Coordinates.Center = (Element.Substation.LngLat); Map.ctlNetworkMap.Coordinates.UpdateZoom(MM_Repository.OverallDisplay.StationZoomLevel); } } else if (InLine[0].Equals("Property", StringComparison.CurrentCultureIgnoreCase)) { MM_Form_Builder.PropertyPage(Element, Map.ctlNetworkMap); } else if (InLine[0].Equals("OneLine", StringComparison.CurrentCultureIgnoreCase)) { MM_Form_Builder.OneLine_Display(Element, Map.ctlNetworkMap); } }