public static void LoadAllLanguages() { try { ListLanguageInfos.Clear(); int langID = LangID; var resource = GetResourceStream(new Uri(string.Format("Languages/{0}.XML", langID), UriKind.RelativeOrAbsolute)); if (resource == null) { WriteLog("LoadAllLanguages", string.Format("Language file not exist.")); return; } var stream = resource.Stream; if (stream == null) { WriteLog("LoadAllLanguages", string.Format("Stream is null.")); return; } StreamReader reader = new StreamReader(stream); string strContent = reader.ReadToEnd(); OperationReturn optReturn = XMLHelper.DeserializeObject <LangLister>(strContent); if (!optReturn.Result) { WriteLog("LoadAllLanguages", string.Format("Read language file fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); return; } LangLister lister = optReturn.Data as LangLister; if (lister == null) { WriteLog("LoadAllLanguages", string.Format("LangLister is null")); return; } for (int i = 0; i < lister.ListLanguageInfos.Count; i++) { var lang = lister.ListLanguageInfos[i]; ListLanguageInfos.Add(lang); } WriteLog("LoadAllLanguages", string.Format("End.\t{0}", ListLanguageInfos.Count)); } catch (Exception ex) { WriteLog("LoadAllLanguages", string.Format("Fail.\t{0}", ex.Message)); } }
void BtnTest_Click(object sender, RoutedEventArgs e) { try { #region 生成配置文件 //UpdateConfig config = new UpdateConfig(); //config.CurrentVersion = "803001P02000"; //ModuleInfo module = new ModuleInfo(); //module.ModuleID = 3102; //module.MasterID = 31; //module.ModuleName = "Query"; //module.Display = "查询"; //config.ListModuleInfos.Add(module); //string strPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, UpdateConfig.FILE_NAME); //OperationReturn optReturn = XMLHelper.SerializeFile(config, strPath); //if (!optReturn.Result) //{ // ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); // return; //} //AppendMessage(string.Format("End.\t{0}", strPath)); #endregion #region 导出语言包 DatabaseInfo dbInfo = new DatabaseInfo(); dbInfo.TypeID = 3; dbInfo.Host = "192.168.4.182"; dbInfo.Port = 1521; dbInfo.DBName = "PFOrcl"; dbInfo.LoginName = "PFDEV832"; dbInfo.Password = "******"; dbInfo.RealPassword = dbInfo.Password; List <int> listLangIDs = new List <int>(); listLangIDs.Add(1033); listLangIDs.Add(1028); listLangIDs.Add(1041); listLangIDs.Add(2052); for (int i = 0; i < listLangIDs.Count; i++) { int langTypeID = listLangIDs[i]; string strLangName = langTypeID.ToString(); string strConn = dbInfo.GetConnectionString(); string strSql; OperationReturn optReturn; switch (dbInfo.TypeID) { case 2: strSql = string.Format("SELECT * FROM T_00_005 WHERE C001 = {0} ORDER BY C001,C002", langTypeID); optReturn = MssqlOperation.GetDataSet(strConn, strSql); break; case 3: strSql = string.Format("SELECT * FROM T_00_005 WHERE C001 = {0} ORDER BY C001,C002", langTypeID); optReturn = OracleOperation.GetDataSet(strConn, strSql); break; default: AppendMessage(string.Format("Fail.\t DBType invalid")); continue; } if (!optReturn.Result) { AppendMessage(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); continue; } DataSet objDataSet = optReturn.Data as DataSet; if (objDataSet == null || objDataSet.Tables.Count <= 0) { AppendMessage(string.Format("DataSet is null or DataTable not exist.")); continue; } LangLister lister = new LangLister(); lister.LangID = langTypeID; lister.LangName = strLangName; lister.Path = string.Format("{0}.XML", langTypeID); int count = objDataSet.Tables[0].Rows.Count; for (int j = 0; j < count; j++) { DataRow dr = objDataSet.Tables[0].Rows[j]; LanguageInfo langInfo = new LanguageInfo(); langInfo.LangID = langTypeID; langInfo.Name = dr["C002"].ToString(); langInfo.Module = Convert.ToInt32(dr["C009"]); langInfo.SubModule = Convert.ToInt32(dr["C010"]); langInfo.Page = dr["C011"].ToString(); langInfo.ObjName = dr["C012"].ToString(); string display = string.Empty; display += dr["C005"].ToString(); display += dr["C006"].ToString(); display += dr["C007"].ToString(); display += dr["C008"].ToString(); langInfo.Display = display; lister.ListLangInfos.Add(langInfo); } string strPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, lister.Path); optReturn = XMLHelper.SerializeFile(lister, strPath); if (!optReturn.Result) { AppendMessage(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); continue; } AppendMessage(string.Format("End.\t{0}\t{1}", strPath, count)); } AppendMessage(string.Format("End.")); #endregion } catch (Exception ex) { ShowException(ex.Message); } }