Exemple #1
0
    public string GetPath(Type type)
    {
        if (pathdic.ContainsKey(type))
        {
            return(pathdic[type]);
        }
        CfgAttribute ca   = type.GetCustomAttribute <CfgAttribute>(false);
        string       path = "";

        if (ca != null)
        {
            path          = ca.path;
            pathdic[type] = path;
        }
        else
        {
            Debug.LogError(type.Name + " no CfgAttribute");
        }
        return(path);
    }
Exemple #2
0
        /// <summary>
        /// 初始化数据库
        /// </summary>
        public void InitDB()
        {
            try
            {
                string CommandText = "SELECT COUNT(*) as cnt FROM sqlite_master where type='table' and name='{0}'";
                object count       = this.SqliteHelper.ExecuteScalar(CommandType.Text, String.Format(CommandText, "cards"));
                if (count == null || count.ToString() == "0")
                {
                    CommandText = "CREATE TABLE [cards] (kdt integer,epc nvarchar(200),dt integer,flag int,PRIMARY KEY(kdt,epc))";
                    int x = this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText);
                }

                CommandText = "SELECT COUNT(*) as cnt FROM sqlite_master where type='table' and name='{0}'";
                count       = this.SqliteHelper.ExecuteScalar(CommandType.Text, String.Format(CommandText, "WorkTimeList"));
                if (count == null || count.ToString() == "0")
                {
                    CommandText = "CREATE TABLE [WorkTimeList] (ID varchar(32),LatestTime integer,FromTime integer,ToTime integer,Flag int ,PRIMARY KEY(ID,LatestTime))";
                    this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText);
                }

                CommandText = "SELECT COUNT(*) as cnt FROM sqlite_master where type='table' and name='{0}';";
                count       = this.SqliteHelper.ExecuteScalar(CommandType.Text, String.Format(CommandText, "params"));
                if (count == null || count.ToString() == "0")
                {
                    CommandText = "CREATE TABLE [params] (pkey nvarchar(200),pvalue nvarchar(200),PRIMARY KEY(pkey))";
                    this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText);

                    CommandText = "";
                    CfgAttribute cfgAttr = null;

                    //Array Arrays = Enum.GetValues(typeof(ConfigParams));

                    ///// <summary>
                    ///// 采集器编号
                    ///// </summary>
                    //[Cfg("1", "^[a-zA-Z_0-9]+$", RegexOptions.None)]
                    //DeviceNo,

                    ///// <summary>
                    ///// 循环周期(卡循环使用一次最少用时,单位:分钟)
                    ///// </summary>
                    //[Cfg("90", @"\d+$", RegexOptions.None)]
                    //CycInterval,

                    ///// <summary>
                    ///// 采集器功能类型
                    ///// </summary>
                    //[Cfg("-1", "*", RegexOptions.None)]
                    //DeviceFuncType

                    Array Arrays = new Enum[] {
                        //采集器编号
                        ConfigParams.DeviceNo,
                        //循环周期(卡循环使用一次最少用时,单位:分钟)
                        ConfigParams.CycInterval,
                        //采集器功能类型
                        ConfigParams.DeviceFuncType
                    };

                    for (int i = 0; i < Arrays.Length; i++)
                    {
                        ConfigParams cp = (ConfigParams)Arrays.GetValue(i);
                        cfgAttr      = CfgAttribute.GetAttribute <CfgAttribute>(cp);
                        CommandText += String.Format("insert into [params] (pkey,pvalue) values('{0}','{1}');", cp.ToString(), cfgAttr.DefaultValue);
                    }
                    this.SqliteHelper.ExecuteNonQuery(CommandType.Text, CommandText);
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog(Framework.Libs.Common.LogFile.Error, ex.Message);
                throw ex;
            }
        }