Example #1
0
File: DBI.cs Project: wpmyj/c3
        /// <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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        /// <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());
        }
Example #4
0
        /// <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());
        }