public static void CheckDBVersion()
        {
            ApplicationSettingInfo dbVersion = ApplicationSettingInfo.Get(Settings.Default.DB_VERSION_VARIABLE);

            //Version de base de datos equivalente o no existe la variable
            if ((dbVersion.Value == string.Empty) ||
                (String.CompareOrdinal(dbVersion.Value, ModulePrincipal.GetDBVersion()) == 0))
            {
                return;
            }
            //Version de base de datos superior
            else if (String.CompareOrdinal(dbVersion.Value, ModulePrincipal.GetDBVersion()) > 0)
            {
                throw new iQException(String.Format(Library.Resources.Messages.DB_VERSION_HIGHER,
                                                    dbVersion.Value,
                                                    ModulePrincipal.GetDBVersion(),
                                                    Settings.Default.NAME),
                                      iQExceptionCode.DB_VERSION_MISSMATCH);
            }
            //Version de base de datos inferior
            else if (String.CompareOrdinal(dbVersion.Value, ModulePrincipal.GetDBVersion()) < 0)
            {
                throw new iQException(String.Format(Library.Resources.Messages.DB_VERSION_LOWER,
                                                    dbVersion.Value,
                                                    ModulePrincipal.GetDBVersion(),
                                                    Settings.Default.NAME),
                                      iQExceptionCode.DB_VERSION_MISSMATCH);
            }
        }
Пример #2
0
        /// <summary>
        /// アプリケーション設定ファイルからアプリケーション設定を読み込む
        /// </summary>
        public void InitializeApplicationFiles()
        {
            // アプリケーションが使用する各種ディレクトリの作成
            System.IO.Directory.CreateDirectory(ApplicationDirectoryPath);
            System.IO.Directory.CreateDirectory(TemporaryDirectoryPath);
            System.IO.Directory.CreateDirectory(ConfigDirectoryPath);

            if (ApplicationSetting == null)
            {
                ApplicationSetting = new ApplicationSettingInfo();
            }

            if (File.Exists(ApplicationSettingFilePath))
            {
                using (StreamReader sr = new StreamReader(ApplicationSettingFilePath, Encoding.GetEncoding("utf-8")))
                {
                    ApplicationSetting.Load(sr);
                }
            }
            else
            {
                // ファイルが存在しない場合、デフォルト設定で設定情報を作成し、ファイルに出力する。
                ApplicationSetting.Reset();

                File.Create(ApplicationSettingFilePath).Close();
                using (var sw = new StreamWriter(ApplicationSettingFilePath))
                {
                    ApplicationSetting.Save(sw);
                }
            }
        }
Пример #3
0
        ///<summary>获取需要同步的数据</summary>
        ///<param name="param">应用参数信息</param>
        private ApplicationSettingInfo FetchDictionaryItem(string applicationId, string applicationSettingGroupName, string fetchItemType, string fetchItemValue)
        {
            ApplicationSettingInfo param = null;

            string cacheKey = string.Format("{0}${1}${2}${3}", applicationId, applicationSettingGroupName, fetchItemType, fetchItemValue);

            // 初始化缓存
            SyncLocalDb();

            // 查找缓存数据
            if (fetchItemType == "text")
            {
                if (this.settingTextDictionary.ContainsKey(cacheKey))
                {
                    param = this.settingTextDictionary[cacheKey];
                }
            }
            else if (fetchItemType == "value")
            {
                if (this.settingValueDictionary.ContainsKey(cacheKey))
                {
                    param = this.settingValueDictionary[cacheKey];
                }
            }

            return(param);
        }
Пример #4
0
        /// <summary>根据配置的文本获取值信息</summary>
        /// <param name="applicationId"></param>
        /// <param name="applicationSettingGroupName"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        public string GetValue(string applicationId, string applicationSettingGroupName, string text)
        {
            ApplicationSettingInfo param = FetchDictionaryItem(applicationId, applicationSettingGroupName, "value", text);

            // 如果缓存中未找到相关数据,则查找数据库内容
            return(param == null?this.provider.GetValue(applicationId, applicationSettingGroupName, text) : param.Value);
        }
Пример #5
0
        // -------------------------------------------------------
        // 保存 删除
        // -------------------------------------------------------

        #region 函数:Save(XmlDocument doc)
        /// <summary>保存记录</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string Save(XmlDocument doc)
        {
            ApplicationSettingInfo param = new ApplicationSettingInfo();

            param = (ApplicationSettingInfo)AjaxUtil.Deserialize(param, doc);

            this.service.Save(param);

            return(MessageObject.Stringify("0", I18n.Strings["msg_save_success"]));
        }
        // -------------------------------------------------------
        // 查询
        // -------------------------------------------------------

        #region 函数:FindOne(string id)
        /// <summary>查询某条记录</summary>
        /// <param name="id">标识</param>
        /// <returns>返回实例<see cref="ApplicationSettingInfo"/>的详细信息</returns>
        public ApplicationSettingInfo FindOne(string id)
        {
            Dictionary <string, object> args = new Dictionary <string, object>();

            args.Add("Id", StringHelper.ToSafeSQL(id));

            ApplicationSettingInfo param = ibatisMapper.QueryForObject <ApplicationSettingInfo>(StringHelper.ToProcedurePrefix(string.Format("{0}_FindOne", tableName)), args);

            return(param);
        }
        // -------------------------------------------------------
        // 添加 删除 修改
        // -------------------------------------------------------

        #region 函数:Save(ApplicationSettingInfo param)
        /// <summary>保存记录</summary>
        /// <param name="param">实例<see cref="ApplicationSettingInfo"/>详细信息</param>
        /// <returns>实例<see cref="ApplicationSettingInfo"/>详细信息</returns>
        public ApplicationSettingInfo Save(ApplicationSettingInfo param)
        {
            if (!IsExist(param.Id))
            {
                Insert(param);
            }
            else
            {
                Update(param);
            }

            return((ApplicationSettingInfo)param);
        }
Пример #8
0
        // -------------------------------------------------------
        // 查询
        // -------------------------------------------------------

        #region 函数:FindOne(XmlDocument doc)
        /// <summary>获取详细信息</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string FindOne(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            string id = XmlHelper.Fetch("id", doc);

            ApplicationSettingInfo param = this.service.FindOne(id);

            outString.Append("{\"data\":" + AjaxUtil.Parse <ApplicationSettingInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}");

            return(outString.ToString());
        }
Пример #9
0
        /// <summary>创建新的对象</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            string applicationId = XmlHelper.Fetch("applicationId", doc);

            string applicationSettingGroupId = XmlHelper.Fetch("applicationSettingGroupId", doc);

            ApplicationSettingInfo param = new ApplicationSettingInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.ApplicationId = applicationId;

            param.ApplicationSettingGroupId = "00000000-0000-0000-0000-000000000000";

            param.Status = 1;

            outString.Append("{\"data\":" + AjaxUtil.Parse <ApplicationSettingInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}");

            return(outString.ToString());
        }
 /// <summary>修改记录</summary>
 /// <param name="param">实例<see cref="ApplicationSettingInfo"/>详细信息</param>
 public void Update(ApplicationSettingInfo param)
 {
     ibatisMapper.Update(StringHelper.ToProcedurePrefix(string.Format("{0}_Update", tableName)), param);
 }
        /// <summary>添加记录</summary>
        /// <param name="param">实例<see cref="ApplicationSettingInfo"/>详细信息</param>
        public void Insert(ApplicationSettingInfo param)
        {
            param.Code = DigitalNumberContext.Generate("Table_Application_Setting_Key_Code");

            ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", tableName)), param);
        }
        // -------------------------------------------------------
        // 同步管理
        // -------------------------------------------------------

        #region 函数:SyncFromPackPage(ApplicationSettingInfo param)
        ///<summary>同步信息</summary>
        ///<param name="param">应用参数信息</param>
        public void SyncFromPackPage(ApplicationSettingInfo param)
        {
            ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_SyncFromPackPage", tableName)), param);
        }
Пример #13
0
        ///<summary>同步信息</summary>
        ///<param name="param">应用参数信息</param>
        public void SyncFromPackPage(ApplicationSettingInfo param)
        {
            this.provider.SyncFromPackPage(param);

            // this.BindAuthorizationScopeObjects(param.Id, "应用_通用_查看权限", param.AuthorizationReadScopeObjectText);
        }
Пример #14
0
        // -------------------------------------------------------
        // 保存 删除
        // -------------------------------------------------------

        #region 函数:Save(ApplicationSettingInfo param)
        /// <summary>保存记录</summary>
        /// <param name="param">实例<see cref="ApplicationSettingInfo"/>详细信息</param>
        /// <returns>实例<see cref="ApplicationSettingInfo"/>详细信息</returns>
        public ApplicationSettingInfo Save(ApplicationSettingInfo param)
        {
            return(this.provider.Save(param));
        }