public static JavaScriptObject CardDeviceToJson(CardDevice cardDevice)
        {
            JavaScriptObject obj2 = new JavaScriptObject();

            obj2.Add("ID", cardDevice.Id);
            obj2.Add("SerialNumber", cardDevice.SerialNumber);
            obj2.Add("AddressCode1", cardDevice.AddressCode1);
            obj2.Add("AddressCode2", cardDevice.AddressCode2);
            obj2.Add("AddressCode3", cardDevice.AddressCode3);
            obj2.Add("DeviceNo", cardDevice.AddressCode1 + cardDevice.AddressCode2 + cardDevice.AddressCode3.ToString().PadLeft(3, '0'));
            obj2.Add("YearExploitation", cardDevice.YearExploitation);
            obj2.Add("AlertAvailableWater", cardDevice.AlertAvailableWater);
            obj2.Add("AlertAvailableElectric", cardDevice.AlertAvailableElectric);
            obj2.Add("TypeCode", cardDevice.TypeCode);
            obj2.Add("MeterPulse", cardDevice.MeterPulse);
            obj2.Add("AlertWaterLevel", cardDevice.AlertWaterLevel);
            obj2.Add("StationType", cardDevice.StationType);
            obj2.Add("StationCode", cardDevice.StationCode);
            obj2.Add("Frequency", cardDevice.Frequency);
            obj2.Add("OpenUserId", cardDevice.OpenUserId);
            obj2.Add("OpenUserName", cardDevice.OpenUserName);
            obj2.Add("OpenAddress", cardDevice.OpenAddress);
            obj2.Add("OpenTime", cardDevice.OpenTime.ToString("yyyy-MM-dd HH:mm:ss"));
            obj2.Add("LastUpdateUserId", cardDevice.LastUpdateUserId);
            obj2.Add("LastUpdateUserName", cardDevice.LastUpdateUserName);
            obj2.Add("LastUpdateAddress", cardDevice.LastUpdateAddress);
            obj2.Add("LastUpdateTime", cardDevice.LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss"));

            return(obj2);
        }
Example #2
0
        public void InterpreteNCSD_Flags()
        {
            CardDevice CardDevice_flag = (CardDevice)(Header.Flags[3] | Header.Flags[7]);
            MediaType  MediaType_flag  = (MediaType)Header.Flags[5];

            switch (MediaType_flag)
            {
            case (MediaType.InternalDevice): NcsdInfo.MediaType = "Internal Device"; break;

            case (MediaType.Card1): NcsdInfo.MediaType = "Card1"; break;

            case (MediaType.Card2): NcsdInfo.MediaType = "Card2"; break;

            case (MediaType.ExternalDevice): NcsdInfo.MediaType = "External Device"; break;
            }
            if (MediaType_flag == MediaType.Card2)
            {
                NcsdInfo.HasWritableRegion     = true;
                NcsdInfo.WritableRegionAddress = Header.WritableRegionAddress * NcsdInfo.media_unit;
                NcsdInfo.WritableRegionSize    = NcsdInfo.Media_Size - NcsdInfo.WritableRegionAddress;
            }
            else
            {
                NcsdInfo.HasWritableRegion = false;
            }
            switch (CardDevice_flag)
            {
            case (CardDevice.CARD_DEVICE_BT): NcsdInfo.CardDevice = "BT"; break;

            case (CardDevice.CARD_DEVICE_NONE): NcsdInfo.CardDevice = "None"; break;

            case (CardDevice.CARD_DEVICE_NOR_FLASH): NcsdInfo.CardDevice = "EEPROM"; break;
            }
        }
Example #3
0
 private List <Differentiable> getDifferentiablesCom48()
 {
     if (buf.Length == 100 * 3 + 7 && checkBuf())
     {
         List <Differentiable> devices = new List <Differentiable>();
         for (int i = 0; i < 100; i++)
         {
             Differentiable device = new CardDevice();
             byte[]         id     = new byte[3];
             for (int index = 0; index < id.Length; index++)
             {
                 id[index] = buf[5 + index + i * 3];
             }
             device.setId(id);
             if (id[0] == 0 && id[1] == 0 && id[2] == 0)
             {
                 return(devices);
             }
             else
             {
                 devices.Add(device);
             }
         }
         return(devices);
     }
     else if (buf.Length > 100 * 3 + 7)
     {
         buf = new byte[0];
     }
     return(null);
 }
Example #4
0
        public string GetCardDeviceById(string loginIdentifer, string cardDeviceID)
        {
            JavaScriptObject obj2 = new JavaScriptObject();

            obj2.Add("Result", false);
            obj2.Add("Message", "");
            obj2.Add("CardDevice", new JavaScriptObject());
            try
            {
                ResMsg msg = CommonUtil.CheckLoginState(loginIdentifer, true);
                if (!msg.Result)
                {
                    obj2["Message"] = msg.Message;
                    return(JavaScriptConvert.SerializeObject(obj2));
                }
                if ((cardDeviceID == null) || (cardDeviceID.Trim() == ""))
                {
                    obj2["Message"] = "设备卡ID不能为空";
                    return(JavaScriptConvert.SerializeObject(obj2));
                }
                CardDevice cardDevice = CardDeviceModule.GetCardDeviceById(long.Parse(cardDeviceID));
                if (cardDevice == null)
                {
                    obj2["Message"] = "ID为" + cardDeviceID + "设备卡不存在";
                    return(JavaScriptConvert.SerializeObject(obj2));
                }
                obj2["Result"]     = true;
                obj2["CardDevice"] = CardDeviceModule.CardDeviceToJson(cardDevice);
            }
            catch (Exception exception)
            {
                obj2["Message"] = exception.Message;
            }
            return(JavaScriptConvert.SerializeObject(obj2));
        }
Example #5
0
        private List <Differentiable> getDifferentiablesCom00()
        {
            if (buf.Length == 50 * 7 + 5 && checkBuf())
            {
                List <Differentiable> devices = new List <Differentiable>();
                byte devicesNum = buf[2];
                for (int i = 0; i < devicesNum; i++)
                {
                    Differentiable device = null;
                    byte[]         id     = new byte[3];
                    for (int j = 0; j < 7; j++)
                    {
                        if (j < 3)
                        {
                            id[j] = buf[3 + i * 7 + j];
                        }
                        if (j == 6)
                        {
                            switch (buf[3 + i * 7 + j])
                            {
                            case 0x00:
                                device = new CardDevice();
                                break;

                            case 0x01:
                                device = new WarningDevice();
                                break;

                            case 0x02:
                                break;

                            case 0x03:
                                break;

                            default:
                                break;
                            }
                            device.setId(id);
                        }
                    }
                    devices.Add(device);
                }
                return(devices);
            }
            else if (buf.Length > 50 * 7 + 5)
            {
                buf = new byte[0];
            }
            return(null);
        }
Example #6
0
 private void StartCardPayment()
 {
     try
     {
         this.EnableCardPaymentMode();
         this.ResetCoinMechanism();
         this.RestartCloseFormTimer();
         if (Devices.CardDevice == null)
         {
             Devices.CardDevice = new CardDevice();
         }
         this._cardDevice        = Devices.CardDevice;
         this._cardDevice.Cancel = false;
         this.ShowInsertCardMessage();
         this._cardDevice.WaitInsertCard();
         Console.WriteLine("After Card Insert");
         if (!this._cardDevice.Cancel)
         {
             this.ShowFollowInstructionsMessage_DeactivateLoadingCircle();
             this._cardDeviceResponse = this._cardDevice.WaitForPayment(this._parkingPermitInfo.Amount);
         }
         Console.WriteLine("After Card Transaction");
         if (!this._cardDevice.CardIsRemoved)
         {
             this.ShowRemoveCardMessage();
             this._cardDevice.WaitRemoveCard();
         }
         Console.WriteLine("After Card Removal");
         if (this._cardDeviceResponse != null)
         {
             this.RespondToCardDeviceActivity();
         }
         else
         {
             this.HandleFailedCardTransaction();
         }
         Console.WriteLine("Card Payment End");
     }
     catch (Exception ex)
     {
         if (this._cardDevice.Cancel)
         {
             return;
         }
         Log.Write(ex);
         this.OpenCreditCardErrorForm();
     }
 }
Example #7
0
        /// <summary>
        /// Creates an instance.
        /// </summary>
        public DuinoBoard()
        {
            try
            {
                // Initialize hardware
                HardwareProvider.Initialize();

                // Initialize components
                Network = WifiDevice.Initialize();
                Storage = CardDevice.Connect(SC20100.StorageController.SdCard);
                Led     = new LedDevice(SC20100.GpioPin.PE11);
            }
            catch
            {
                // Close devices in case partially initialized
                Network?.Dispose();
                Storage?.Dispose();

                // Continue error
                throw;
            }
        }
Example #8
0
        public string GetCardDeviceByIds(string loginIdentifer, string Ids)
        {
            JavaScriptObject obj2  = new JavaScriptObject();
            JavaScriptArray  array = new JavaScriptArray();

            obj2.Add("Result", false);
            obj2.Add("Message", "");
            obj2.Add("CardDevices", array);
            try
            {
                ResMsg msg = CommonUtil.CheckLoginState(loginIdentifer, true);
                if (!msg.Result)
                {
                    obj2["Message"] = msg.Message;
                    return(JavaScriptConvert.SerializeObject(obj2));
                }
                if ((Ids == null) || (Ids.Trim() == ""))
                {
                    obj2["Message"] = "设备卡ID不能为空";
                    return(JavaScriptConvert.SerializeObject(obj2));
                }
                foreach (string str in Ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    CardDevice card = CardDeviceModule.GetCardDeviceById(long.Parse(str));
                    if (card == null)
                    {
                        obj2["Message"] = "ID为" + str + "的设备卡不存在";
                        return(JavaScriptConvert.SerializeObject(obj2));
                    }
                    array.Add(CardDeviceModule.CardDeviceToJson(card));
                }
                obj2["Result"] = true;
            }
            catch (Exception exception)
            {
                obj2["Message"] = exception.Message;
            }
            return(JavaScriptConvert.SerializeObject(obj2));
        }
Example #9
0
        public DmSwitcher(ControlSystem controlSystem, SwitcherConfig switcherConfig)
        {
            ControlSystem = controlSystem;
            var assembly = Assembly.Load(typeof(DmMd32x32Cpu3).AssemblyName());

#if DEBUG
            CrestronConsole.PrintLine("DMSwitcher - Creating instance of {0}", switcherConfig.FrameType);
#endif
            try
            {
                var frameType = assembly.GetType(switcherConfig.FrameType).GetCType();
                var frameCtor = frameType.GetConstructor(new CType[] { typeof(uint), typeof(CrestronControlSystem) });
                Chassis = (Switch)frameCtor.Invoke(new object[] { switcherConfig.Id, controlSystem });
                for (var i = 1U; i <= Chassis.NumberOfOutputs; i++)
                {
                    _outInit[i] = false;
                }
            }
            catch (Exception e)
            {
                CloudLog.Exception(e, "Error loading DM Frame type");
                throw e;
            }

            foreach (var cardConfig in switcherConfig.InputCards)
            {
                CardDevice card = null;
                try
                {
                    var cardType = assembly.GetType(cardConfig.Type).GetCType();
                    var ctor     = cardType.GetConstructor(new CType[] { typeof(uint), typeof(Switch) });
                    card = (CardDevice)ctor.Invoke(new object[] { cardConfig.Number, Chassis });
                }
                catch (Exception e)
                {
                    CloudLog.Error("Could not create DM Input Card {0} with ID {1}, {2}", cardConfig.Type,
                                   cardConfig.Number, e.Message);
                }

                if (card == null)
                {
                    continue;
                }

                try
                {
                    var inputConfig =
                        switcherConfig.Inputs.FirstOrDefault(i => i.Number == card.SwitcherInputOutput.Number);
                    if (inputConfig == null)
                    {
                        continue;
                    }
                    if (string.IsNullOrEmpty(inputConfig.EndpointType))
                    {
                        continue;
                    }
                    var endpointType = assembly.GetType(inputConfig.EndpointType).GetCType();
                    var ctor         = endpointType.GetConstructor(new CType[] { typeof(DMInput) });
                    var endpoint     = (DMEndpointBase)ctor.Invoke(new object[] { card.SwitcherInputOutput as DMInput });
                    endpoint.Description = inputConfig.Name;
                }
                catch (Exception e)
                {
                    CloudLog.Error("Could not create DM Input {0}, {1}", cardConfig.Number, e.Message);
                }
            }

            foreach (var cardConfig in switcherConfig.OutputCards)
            {
                DmcOutputSingle card = null;
                try
                {
                    var bladeType = assembly.GetType(cardConfig.Type).GetCType();
                    var ctor      = bladeType.GetConstructor(new CType[] { typeof(uint), typeof(Switch) });
                    card = (DmcOutputSingle)ctor.Invoke(new object[] { cardConfig.Number, Chassis });
                }
                catch (Exception e)
                {
                    CloudLog.Error("Could not create DM Output Card {0} with ID {1}, {2}", cardConfig.Type,
                                   cardConfig.Number, e.Message);
                }

                if (card == null)
                {
                    continue;
                }

                for (var cardOutput = 1U; cardOutput <= 2; cardOutput++)
                {
                    var propName   = "Card" + cardOutput;
                    var cardSingle =
                        (CardDevice)
                        card.GetCType()
                        .GetProperties(BindingFlags.Public | BindingFlags.Instance)
                        .First(p => p.Name == propName)
                        .GetValue(card);

                    try
                    {
                        var outputConfig =
                            switcherConfig.Outputs.FirstOrDefault(i => i.Number == cardSingle.SwitcherInputOutput.Number);
                        if (outputConfig == null)
                        {
                            continue;
                        }
                        if (string.IsNullOrEmpty(outputConfig.EndpointType))
                        {
                            continue;
                        }
                        var endpointType = assembly.GetType(outputConfig.EndpointType).GetCType();
                        var ctor         = endpointType.GetConstructor(new CType[] { typeof(DMOutput) });
                        var endpoint     =
                            (DMEndpointBase)ctor.Invoke(new object[] { cardSingle.SwitcherInputOutput as DMOutput });
                        endpoint.Description = outputConfig.Name;
                    }
                    catch (Exception e)
                    {
                        CloudLog.Error("Could not create DM Output {0}, {1}", cardSingle.SwitcherInputOutput.Number,
                                       e.Message);
                    }
                }
            }

            Chassis.OnlineStatusChange += Chassis_OnlineStatusChange;
            Chassis.DMInputChange      += OnDmInputChange;
            Chassis.DMOutputChange     += OnDmOutputChange;

            try
            {
                var regResult = Chassis.Register();
                if (regResult != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CloudLog.Error("Error registering DM Frame, result = {0}", regResult);
                }
            }
            catch (Exception e)
            {
                CloudLog.Error("Error trying to register DM Frame, {0}", e.Message);
            }

            try
            {
                foreach (var inputConfig in switcherConfig.Inputs)
                {
                    if (inputConfig.Number == 0 || inputConfig.Number > Chassis.NumberOfInputs)
                    {
                        continue;
                    }
                    Chassis.Inputs[inputConfig.Number].Name.StringValue = inputConfig.Name;
                }

                foreach (var outputConfig in switcherConfig.Outputs)
                {
                    if (outputConfig.Number == 0 || outputConfig.Number > Chassis.NumberOfOutputs)
                    {
                        continue;
                    }

                    Chassis.Outputs[outputConfig.Number].Name.StringValue = outputConfig.Name;
                }
            }
            catch (Exception e)
            {
                CloudLog.Error("Error setting names on DM switcher, {0}", e.Message);
            }
        }
Example #10
0
File: Form1.cs Project: 287396159/A
 private void Label1_Click(object sender, EventArgs e)
 {
     CardDevice cardDevice = new CardDevice();
     //cardDevice.setId(111);
     //label1.Text = "" + cardDevice.getId();
 }
        public static string ModifyCardDevice(CardDevice cardDevice)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update CardDevice set ");
            strSql.Append("SerialNumber=@SerialNumber,");
            strSql.Append("AddressCode1=@AddressCode1,");
            strSql.Append("AddressCode2=@AddressCode2,");
            strSql.Append("AddressCode3=@AddressCode3,");
            strSql.Append("YearExploitation=@YearExploitation,");
            strSql.Append("AlertAvailableWater=@AlertAvailableWater,");
            strSql.Append("TypeCode=@TypeCode,");
            strSql.Append("MeterPulse=@MeterPulse,");
            strSql.Append("AlertWaterLevel=@AlertWaterLevel,");
            strSql.Append("AlertAvailableElectric=@AlertAvailableElectric,");
            strSql.Append("OpenUserId=@OpenUserId,");
            strSql.Append("OpenUserName=@OpenUserName,");
            strSql.Append("OpenAddress=@OpenAddress,");
            strSql.Append("OpenTime=@OpenTime,");
            strSql.Append("LastUpdateUserId=@LastUpdateUserId,");
            strSql.Append("LastUpdateUserName=@LastUpdateUserName,");
            strSql.Append("LastUpdateAddress=@LastUpdateAddress,");
            strSql.Append("LastUpdateTime=@LastUpdateTime,");
            strSql.Append("StationType=@StationType,");
            strSql.Append("StationCode=@StationCode,");
            strSql.Append("Frequency=@Frequency");
            strSql.Append(" where Id=@Id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SerialNumber",           SqlDbType.NVarChar,   50),
                new SqlParameter("@AddressCode1",           SqlDbType.NVarChar,   50),
                new SqlParameter("@AddressCode2",           SqlDbType.NVarChar,   50),
                new SqlParameter("@AddressCode3",           SqlDbType.Int,         4),
                new SqlParameter("@YearExploitation",       SqlDbType.Decimal,     9),
                new SqlParameter("@AlertAvailableWater",    SqlDbType.Int,         4),
                new SqlParameter("@AlertAvailableElectric", SqlDbType.Int,         4),
                new SqlParameter("@TypeCode",               SqlDbType.Int,         4),
                new SqlParameter("@MeterPulse",             SqlDbType.Int,         4),
                new SqlParameter("@AlertWaterLevel",        SqlDbType.Decimal,     9),
                new SqlParameter("@OpenUserId",             SqlDbType.BigInt,      8),
                new SqlParameter("@OpenUserName",           SqlDbType.NVarChar,   50),
                new SqlParameter("@OpenAddress",            SqlDbType.NVarChar,  200),
                new SqlParameter("@OpenTime",               SqlDbType.DateTime),
                new SqlParameter("@LastUpdateUserId",       SqlDbType.BigInt,      8),
                new SqlParameter("@LastUpdateUserName",     SqlDbType.NVarChar,   50),
                new SqlParameter("@LastUpdateAddress",      SqlDbType.NVarChar,  200),
                new SqlParameter("@LastUpdateTime",         SqlDbType.DateTime),
                new SqlParameter("@StationType",            SqlDbType.Int,         4),
                new SqlParameter("@StationCode",            SqlDbType.Int,         4),
                new SqlParameter("@Frequency",              SqlDbType.Int,         4),
                new SqlParameter("@Id",                     SqlDbType.BigInt, 8)
            };
            parameters[0].Value  = cardDevice.SerialNumber;
            parameters[1].Value  = cardDevice.AddressCode1;
            parameters[2].Value  = cardDevice.AddressCode2;
            parameters[3].Value  = cardDevice.AddressCode3;
            parameters[4].Value  = cardDevice.YearExploitation;
            parameters[5].Value  = cardDevice.AlertAvailableWater;
            parameters[6].Value  = cardDevice.AlertAvailableElectric;
            parameters[7].Value  = cardDevice.TypeCode;
            parameters[8].Value  = cardDevice.MeterPulse;
            parameters[9].Value  = cardDevice.AlertWaterLevel;
            parameters[10].Value = cardDevice.OpenUserId;
            parameters[11].Value = cardDevice.OpenUserName;
            parameters[12].Value = cardDevice.OpenAddress;
            parameters[13].Value = cardDevice.OpenTime;
            parameters[14].Value = cardDevice.LastUpdateUserId;
            parameters[15].Value = cardDevice.LastUpdateUserName;
            parameters[16].Value = cardDevice.LastUpdateAddress;
            parameters[17].Value = cardDevice.LastUpdateTime;
            parameters[18].Value = cardDevice.StationType;
            parameters[19].Value = cardDevice.StationCode;
            parameters[20].Value = cardDevice.Frequency;
            parameters[21].Value = cardDevice.Id;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return("修改成功");
            }
            else
            {
                return("修改失败,原因:写入数据库失败!");
            }
        }
        public static long AddCardDevice(CardDevice cardDevice)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into CardDevice(");
            strSql.Append("SerialNumber,AddressCode1,AddressCode2,AddressCode3,YearExploitation,AlertAvailableWater,AlertAvailableElectric,TypeCode,MeterPulse,AlertWaterLevel,OpenUserId,OpenUserName,OpenAddress,OpenTime,LastUpdateUserId,LastUpdateUserName,LastUpdateAddress,LastUpdateTime,StationType,StationCode,Frequency)");
            strSql.Append(" values (");
            strSql.Append("@SerialNumber,@AddressCode1,@AddressCode2,@AddressCode3,@YearExploitation,@AlertAvailableWater,@AlertAvailableElectric,@TypeCode,@MeterPulse,@AlertWaterLevel,@OpenUserId,@OpenUserName,@OpenAddress,@OpenTime,@LastUpdateUserId,@LastUpdateUserName,@LastUpdateAddress,@LastUpdateTime,@StationType,@StationCode,@Frequency)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SerialNumber",           SqlDbType.NVarChar,   50),
                new SqlParameter("@AddressCode1",           SqlDbType.NVarChar,   50),
                new SqlParameter("@AddressCode2",           SqlDbType.NVarChar,   50),
                new SqlParameter("@AddressCode3",           SqlDbType.Int,         4),
                new SqlParameter("@YearExploitation",       SqlDbType.Decimal,     9),
                new SqlParameter("@AlertAvailableWater",    SqlDbType.Int,         4),
                new SqlParameter("@AlertAvailableElectric", SqlDbType.Int,         4),
                new SqlParameter("@TypeCode",               SqlDbType.Int,         4),
                new SqlParameter("@MeterPulse",             SqlDbType.Int,         4),
                new SqlParameter("@AlertWaterLevel",        SqlDbType.Decimal,     9),
                new SqlParameter("@OpenUserId",             SqlDbType.BigInt,      8),
                new SqlParameter("@OpenUserName",           SqlDbType.NVarChar,   50),
                new SqlParameter("@OpenAddress",            SqlDbType.NVarChar,  200),
                new SqlParameter("@OpenTime",               SqlDbType.DateTime),
                new SqlParameter("@LastUpdateUserId",       SqlDbType.BigInt,      8),
                new SqlParameter("@LastUpdateUserName",     SqlDbType.NVarChar,   50),
                new SqlParameter("@LastUpdateAddress",      SqlDbType.NVarChar,  200),
                new SqlParameter("@LastUpdateTime",         SqlDbType.DateTime),
                new SqlParameter("@StationType",            SqlDbType.Int,         4),
                new SqlParameter("@StationCode",            SqlDbType.Int,         4),
                new SqlParameter("@Frequency",              SqlDbType.Int, 4)
            };
            parameters[0].Value  = cardDevice.SerialNumber;
            parameters[1].Value  = cardDevice.AddressCode1;
            parameters[2].Value  = cardDevice.AddressCode2;
            parameters[3].Value  = cardDevice.AddressCode3;
            parameters[4].Value  = cardDevice.YearExploitation;
            parameters[5].Value  = cardDevice.AlertAvailableWater;
            parameters[6].Value  = cardDevice.AlertAvailableElectric;
            parameters[7].Value  = cardDevice.TypeCode;
            parameters[8].Value  = cardDevice.MeterPulse;
            parameters[9].Value  = cardDevice.AlertWaterLevel;
            parameters[10].Value = cardDevice.OpenUserId;
            parameters[11].Value = cardDevice.OpenUserName;
            parameters[12].Value = cardDevice.OpenAddress;
            parameters[13].Value = cardDevice.OpenTime;
            parameters[14].Value = cardDevice.LastUpdateUserId;
            parameters[15].Value = cardDevice.LastUpdateUserName;
            parameters[16].Value = cardDevice.LastUpdateAddress;
            parameters[17].Value = cardDevice.LastUpdateTime;
            parameters[18].Value = cardDevice.StationType;
            parameters[19].Value = cardDevice.StationCode;
            parameters[20].Value = cardDevice.Frequency;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt64(obj));
            }
        }