예제 #1
0
 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));
     }
 }
예제 #2
0
        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);
            }
        }