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); } }
/// <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); } } }
///<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); }
/// <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); }
// ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #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); }
// ------------------------------------------------------- // 查询 // ------------------------------------------------------- #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()); }
/// <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); }
///<summary>同步信息</summary> ///<param name="param">应用参数信息</param> public void SyncFromPackPage(ApplicationSettingInfo param) { this.provider.SyncFromPackPage(param); // this.BindAuthorizationScopeObjects(param.Id, "应用_通用_查看权限", param.AuthorizationReadScopeObjectText); }
// ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #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)); }