コード例 #1
0
        public override void Push(EquipmentConnectorCfg equipment, IndicatorConnectorCfg indicator, IndicatorValue[] values)
        {
            progressBar.MaxTicks = values.Length;

            using (var connection = new SqlConnection(Cfg.Connection)) {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }

                foreach (var value in values)
                {
                    using (var cmd = new SqlCommand(Cfg.Command, connection)) {
                        foreach (var param in Cfg.Params)
                        {
                            var paramValue = param.GetParamValue(equipment, indicator, value);
                            var sqlParam   = new SqlParameter(param.Name, paramValue);
                            cmd.Parameters.Add(sqlParam);
                        }
                        cmd.ExecuteNonQuery();
                    }

                    progressBar.Tick();
                }
            }
        }
コード例 #2
0
        public override void Push(EquipmentConnectorCfg equipment, IndicatorConnectorCfg indicator, IndicatorValue[] values)
        {
            foreach (var value in values)
            {
                string outString = Cfg.Format;
                foreach (var param in Cfg.Params)
                {
                    var paramValue = param.GetParamValue(equipment, indicator, value);
                    outString = outString.Replace("{" + param.Name + "}", paramValue.ToString());
                }

                Console.WriteLine(outString);
            }
        }
コード例 #3
0
        public override void Push(EquipmentConnectorCfg equipment, IndicatorConnectorCfg indicator, IndicatorValue[] values)
        {
            var influxDBClient = InfluxDBClientFactory.Create(Cfg.Url, Cfg.Token);

            progressBar.MaxTicks = values.Length;

            using (var writeApi = influxDBClient.GetWriteApi()) {
                foreach (var value in values)
                {
                    var point = PointData.Measurement($"{equipment.Name}\\{indicator.Name}");
                    foreach (var param in Cfg.Params)
                    {
                        var paramValue = param.GetParamValue(equipment, indicator, value);
                        point = point.Tag(param.Name, paramValue.ToString());
                    }
                    point = point.Field("value", value.Value.GetDouble())
                            .Timestamp(value.TimeStamp, WritePrecision.Ms);

                    writeApi.WritePoint(Cfg.Bucket, Cfg.Org, point);

                    progressBar.Tick();
                }
            }
        }
コード例 #4
0
 public abstract void Push(EquipmentConnectorCfg equipment, IndicatorConnectorCfg indicator, IndicatorValue[] values);
コード例 #5
0
 public object GetParamValue(EquipmentConnectorCfg equipment, IndicatorConnectorCfg indicator, IndicatorValue value)
 {
     return(lambda0.Value.DynamicInvoke(equipment, indicator, value));
 }