/// <summary> /// /// </summary> /// <param name="deviceID"></param> /// <param name="d"></param> public void InsertVGate100Data(int deviceID, VGate100Data data) { string s = " insert into tblGateData(deviceid, DT, BeforeWL, BehindWL, Height, instantFlux, TotalAmount, RemainAmount) " + " values(@deviceID, @dt, @beforeWL, @behindWL, @height, @instantFlux, @totalAmount, @remainAmount)"; ListDictionary list = new ListDictionary(); list.Add("DeviceID", deviceID); list.Add("Dt", data.DT); list.Add("BeforeWL", data.BeforeWL); list.Add("BehindWL", data.BehindWL); list.Add("Height", data.Height); list.Add("InstantFlux", data.InstantFlux); list.Add("TotalAmount", data.TotalAmount); list.Add("RemainAmount", data.RemainAmount); ExecuteScalar(s, list); if (base.IsAccessDataBase()) { int gateDataIDLast = GetGateDataIDMax(deviceID); this.DeleteGateDataLast(deviceID); this.InsertGateDataLast(deviceID, gateDataIDLast); } }
public void TestVGate100Data() { VGate100Data data = new VGate100Data(); data.BeforeWL = 1.23d; data.BehindWL = 4.46d; data.Height = 11.22d; data.InstantFlux = 100.11d; data.RemainAmount = 200.12d; data.TotalAmount = 30.234d; byte[] bs = data.ToBytes(); Console.WriteLine(bs.Length); VGate100Data d2 = VGate100Data.ToVGate100Data(bs, 0); Console.WriteLine(d2.Height); Console.WriteLine(d2.InstantFlux); Assert.AreEqual(data.BeforeWL, d2.BeforeWL, 0.1); Assert.AreEqual(data.BehindWL, d2.BehindWL, 0.1); Assert.AreEqual(data.Height, d2.Height, 0.1); Assert.AreEqual(data.InstantFlux, d2.InstantFlux, 0.1); Assert.AreEqual(data.RemainAmount, d2.RemainAmount, 0.1); Assert.AreEqual(data.TotalAmount, d2.TotalAmount, 0.1); }
/// <summary> /// /// </summary> /// <param name="recordsBytes"></param> /// <param name="recordCount"></param> private VGate100Data[] ProcessRecord(byte[] recordsBytes, byte recordCount) { List <VGate100Data> list = new List <VGate100Data> (); for (int i = 0; i < recordCount; i++) { VGate100Data data = VGate100Data.ToVGate100Data( recordsBytes, i * VGate100Data.BytesCountOfVGateData); list.Add(data); } return(list.ToArray()); }
/// <summary> /// /// </summary> /// <param name="dataTable"></param> /// <param name="createdCount"></param> /// <returns></returns> static private VGate100Data[] ConvertToVGate100Datas(DataTable dataTable, out int createdCount) { NullOrDBNullConverter nc = new NullOrDBNullConverter(0f); createdCount = 0; List <VGate100Data> list = new List <VGate100Data>(); foreach (DataRow row in dataTable.Rows) { DateTime dt = Convert.ToDateTime(row[ColumnNames.StrTime]); float lwBefore = Convert.ToSingle(nc.Convert(row[ColumnNames.BeforeLevel])); float lwBehind = Convert.ToSingle(nc.Convert(row[ColumnNames.BehindLevel])); float height = Convert.ToSingle(nc.Convert(row[ColumnNames.Height])); float flux = Convert.ToSingle(nc.Convert(row[ColumnNames.Flux])); float sum = Convert.ToSingle(nc.Convert(row[ColumnNames.TuWater])); float remain = Convert.ToSingle(nc.Convert(row[ColumnNames.ReWater])); VGate100Data data = new VGate100Data(); data.DT = dt; data.BeforeWL = lwBefore; data.BehindWL = lwBehind; data.Height = height; data.InstantFlux = flux; data.TotalAmount = sum; data.RemainAmount = remain; list.Add(data); if (list.Count >= 5) { break; } } createdCount = list.Count; while (list.Count < 5) { list.Add(new VGate100Data()); } return(list.ToArray()); }