private async Task <ITopologyElement> CreateNoScadaMeasurementAsync(ITopologyElement element)
        {
            string verboseMessage = $"{baseLogString} entering CreateNoScadaMeasurement method.";

            Logger.LogVerbose(verboseMessage);

            DMSType dMSType = GetDMSTypeOfTopologyElement(element.Id);

            if (dMSType == DMSType.LOADBREAKSWITCH ||
                dMSType == DMSType.BREAKER ||
                dMSType == DMSType.FUSE ||
                dMSType == DMSType.DISCONNECTOR)
            {
                ArtificalDiscreteMeasurement measurement = GetNoScadaDiscreteMeasurement();
                element.Measurements.Add(measurement.Id, "SWITCH_STATUS");
                measurement.ElementId = element.Id;
                var measurementProviderClient = MeasurementProviderClient.CreateClient();
                await measurementProviderClient.AddDiscreteMeasurement(measurement);

                measurementProviderClient = MeasurementProviderClient.CreateClient();
                await measurementProviderClient.AddMeasurementElementPair(measurement.Id, element.Id);
            }

            return(element);
        }
        private void CreateNoScadaMeasurement(ITopologyElement element)
        {
            DMSType dMSType = GetDMSTypeOfTopologyElement(element.Id);

            if (dMSType == DMSType.LOADBREAKSWITCH ||
                dMSType == DMSType.BREAKER ||
                dMSType == DMSType.FUSE ||
                dMSType == DMSType.DISCONNECTOR)
            {
                ArtificalDiscreteMeasurement measurement = GetNoScadaDiscreteMeasurement();
                element.Measurements.Add(measurement.Id, "SWITCH_STATUS");
                measurement.ElementId = element.Id;
                Provider.Instance.MeasurementProvider.AddDiscreteMeasurement(measurement);
                Provider.Instance.MeasurementProvider.AddMeasurementElementPair(measurement.Id, element.Id);
            }
        }
        private ArtificalDiscreteMeasurement GetNoScadaDiscreteMeasurement()
        {
            ArtificalDiscreteMeasurement discreteMeasurement = new ArtificalDiscreteMeasurement()
            {
                Id              = noScadaGuid++,
                Address         = "",
                IsInput         = false,
                CurrentOpen     = false,
                MaxValue        = 1,
                MinValue        = 0,
                NormalValue     = 0,
                MeasurementType = DiscreteMeasurementType.SWITCH_STATUS
            };

            return(discreteMeasurement);
        }
        private ArtificalDiscreteMeasurement GetNoScadaDiscreteMeasurement()
        {
            string verboseMessage = $"{baseLogString} entering GetNoScadaDiscreteMeasurement method.";

            Logger.LogVerbose(verboseMessage);

            ArtificalDiscreteMeasurement discreteMeasurement = new ArtificalDiscreteMeasurement()
            {
                Id              = noScadaGuid++,
                Address         = "",
                IsInput         = false,
                CurrentOpen     = false,
                MaxValue        = 1,
                MinValue        = 0,
                NormalValue     = 0,
                MeasurementType = DiscreteMeasurementType.SWITCH_STATUS
            };

            return(discreteMeasurement);
        }