コード例 #1
0
 /// <summary>
 /// Our unit display
 /// </summary>
 /// <param name="Unit"></param>
 /// <param name="Disp"></param>
 public MM_Unit_Display(MM_Unit Unit, MM_Operatorship_Display Disp)
     : base(Unit, Disp)
 {
     this.Unit = Unit;
 }
コード例 #2
0
 /// <summary>
 /// Our unit display
 /// </summary>
 /// <param name="Unit"></param>
 public MM_Unit_Display(MM_Unit Unit, MM_Generators_Display Disp)
     : base(Unit, Disp)
 {
     this.Unit = Unit;
 }
コード例 #3
0
        /// <summary>
        /// Build the list of words for this item
        /// </summary>
        /// <param name="Elem"></param>
        /// <param name="OutWords"></param>
        private void BuildWords(MM_Element Elem, Dictionary <String, bool> OutWords)
        {
            OutWords.Clear();
            if (!String.IsNullOrEmpty(Elem.Name))
            {
                AddWord(OutWords, Elem.Name);
            }
            if (Elem is MM_Substation)
            {
                MM_Substation Sub = Elem as MM_Substation;
                if (!String.IsNullOrEmpty(Sub.LongName))
                {
                    AddWord(OutWords, Sub.LongName);
                }
                if (Sub.County != null)
                {
                    AddWord(OutWords, Sub.County.Name);
                }
                if (Sub.LoadZone != null)
                {
                    AddWord(OutWords, Sub.LoadZone.Name);
                }
                if (Sub.WeatherZone != null)
                {
                    AddWord(OutWords, Sub.WeatherZone.Name);
                }
                if (Sub.Units != null)
                {
                    foreach (MM_Unit Unit in Sub.Units)
                    {
                        AddWord(OutWords, Unit.UnitType.Name);
                        if (!String.IsNullOrEmpty(Unit.UnitType.EMSName))
                        {
                            AddWord(OutWords, Unit.UnitType.EMSName);
                        }
                        if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                        {
                            AddWord(OutWords, Unit.Estimated_MW > 1f ? "Online" : "Offline");
                        }
                        else
                        {
                            AddWord(OutWords, Unit.Telemetered_MW > 1f ? "Online" : "Offline");
                        }
                    }
                }
                if (Sub.Loads != null)
                {
                    foreach (MM_Load Load in Sub.Loads)
                    {
                        if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                        {
                            AddWord(OutWords, Load.Estimated_MW > 1f ? "Online" : "Offline");
                        }
                        else
                        {
                            AddWord(OutWords, Load.Telemetered_MW > 1f ? "Online" : "Offline");
                        }
                    }
                }
            }
            else if (Elem is MM_Unit)
            {
                MM_Unit Unit = Elem as MM_Unit;
                AddWord(OutWords, Unit.UnitType.Name);
                if (!String.IsNullOrEmpty(Unit.UnitType.EMSName))
                {
                    AddWord(OutWords, Unit.UnitType.EMSName);
                }
                if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                {
                    AddWord(OutWords, Unit.Estimated_MW > 1f ? "Online" : "Offline");
                }
                else
                {
                    AddWord(OutWords, (!float.IsNaN(Unit.Telemetered_MW) && Unit.Telemetered_MW != 0 ? Unit.Telemetered_MW : Unit.Estimated_MW) > 1f ? "Online" : "Offline");
                }
            }
            else if (Elem is MM_Load)
            {
                MM_Load Load = Elem as MM_Load;
                if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                {
                    AddWord(OutWords, Load.Estimated_MW > 1f ? "Online" : "Offline");
                }
                else
                {
                    AddWord(OutWords, (!float.IsNaN(Load.Telemetered_MW) && Load.Telemetered_MW != 0 ?  Load.Telemetered_MW : Load.Estimated_MW) > 1f ? "Online" : "Offline");
                }
            }

            else if (Elem is MM_ShuntCompensator)
            {
                AddWord(OutWords, (Elem as MM_ShuntCompensator).Open ? "Open" : "Closed");
            }

            if (Elem.Operator != null)
            {
                AddWord(OutWords, Elem.Operator.Name);
                AddWord(OutWords, Elem.Operator.Alias);
            }

            if (Elem.Owner != null)
            {
                AddWord(OutWords, Elem.Owner.Name);
                AddWord(OutWords, Elem.Owner.Alias);
            }

            if (Elem.Substation != null)
            {
                AddWord(OutWords, Elem.Substation.Name);
                AddWord(OutWords, Elem.Substation.LongName);
                if (Elem.Substation.County != null)
                {
                    AddWord(OutWords, Elem.Substation.County.Name);
                }
                if (Elem.Substation.LoadZone != null)
                {
                    AddWord(OutWords, Elem.Substation.LoadZone.Name);
                }
                if (Elem.Substation.WeatherZone != null)
                {
                    AddWord(OutWords, Elem.Substation.WeatherZone.Name);
                }
                if (Elem.Substation.Units != null)
                {
                    foreach (MM_Unit Unit in Elem.Substation.Units)
                    {
                        AddWord(OutWords, Unit.UnitType.Name);
                        if (!string.IsNullOrEmpty(Unit.UnitType.EMSName))
                        {
                            AddWord(OutWords, Unit.UnitType.EMSName);
                        }
                        if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                        {
                            if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                            {
                                AddWord(OutWords, Unit.Estimated_MW > 1f ? "Online" : "Offline");
                            }
                            else
                            {
                                AddWord(OutWords, (!float.IsNaN(Unit.Telemetered_MW) && Unit.Telemetered_MW != 0 ? Unit.Telemetered_MW : Unit.Estimated_MW) > 1f ? "Online" : "Offline");
                            }
                        }
                    }
                }
                if (Elem.Substation.Loads != null)
                {
                    foreach (MM_Load Load in Elem.Substation.Loads)
                    {
                        if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                        {
                            if (Data_Integration.NetworkSource.Estimates && Data_Integration.UseEstimates)
                            {
                                AddWord(OutWords, Load.Estimated_MW > 1f ? "Online" : "Offline");
                            }
                            else
                            {
                                AddWord(OutWords, (!float.IsNaN(Load.Telemetered_MW) && Load.Telemetered_MW != 0 ? Load.Telemetered_MW : Load.Estimated_MW) > 1f ? "Online" : "Offline");
                            }
                        }
                    }
                }
            }

            if (Elem is MM_Line)
            {
                MM_Line Line = Elem as MM_Line;
                AddWord(OutWords, Line.ConnectedStations[0].Name);
                AddWord(OutWords, Line.ConnectedStations[0].LongName);
                AddWord(OutWords, Line.ConnectedStations[1].Name);
                AddWord(OutWords, Line.ConnectedStations[1].LongName);
                if (Line.ConnectedStations[0].County != null)
                {
                    AddWord(OutWords, Line.ConnectedStations[0].County.Name);
                }
                if (Line.ConnectedStations[0].LoadZone != null)
                {
                    AddWord(OutWords, Line.ConnectedStations[0].LoadZone.Name);
                }
                if (Line.ConnectedStations[0].WeatherZone != null)
                {
                    AddWord(OutWords, Line.ConnectedStations[0].WeatherZone.Name);
                }

                if (Line.ConnectedStations[1].County != null)
                {
                    AddWord(OutWords, Line.ConnectedStations[1].County.Name);
                }
                if (Line.ConnectedStations[1].LoadZone != null)
                {
                    AddWord(OutWords, Line.ConnectedStations[1].LoadZone.Name);
                }
                if (Line.ConnectedStations[1].WeatherZone != null)
                {
                    AddWord(OutWords, Line.ConnectedStations[1].WeatherZone.Name);
                }
            }
        }