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(); } } }
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); } }
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(); } } }
public abstract void Push(EquipmentConnectorCfg equipment, IndicatorConnectorCfg indicator, IndicatorValue[] values);
public object GetParamValue(EquipmentConnectorCfg equipment, IndicatorConnectorCfg indicator, IndicatorValue value) { return(lambda0.Value.DynamicInvoke(equipment, indicator, value)); }