Example #1
0
        private void UpdateTablesForTargetLanguage(string languageName, DIConnection dbConnection, DIQueries dbQueries, string dataPrefix, string languageCode)
        {
            LanguageBuilder DILanguageBuilder;

            // create langauge dependent tables if not exists in the new template
            if (!dbConnection.IsValidDILanguage(dataPrefix, languageCode))
            {
                DILanguageBuilder = new LanguageBuilder(dbConnection, dbQueries);
                DILanguageBuilder.CreateNewLanguageTables(languageCode, languageName, dataPrefix);

                // delete "_en" tables & delete langauge code from language table
                DILanguageBuilder.DropLanguageDependentTables(dataPrefix, "_en");

                // set default language
                dbConnection.ExecuteNonQuery(dbQueries.SetDefaultLanguageCode(languageCode));
            }
        }
Example #2
0
        /// <summary>
        /// Set Dataprifix and languagecode  
        /// </summary>
        /// <param name="dataPrefix">DataPrefix like UT_</param>
        /// <param name="langaugeCode">language code like _en</param>
        private void SetLangaugeCodeNDataPrefix(string dataPrefix, string langaugeCode)
        {
            try
            {
                //check dataprefix exists in the database
                if (!string.IsNullOrEmpty(dataPrefix))
                {
                    foreach (DataRow Row in this.DBConnection.DIDataSets().Rows)
                    {
                        if (Row[DBAvailableDatabases.AvlDBPrefix].ToString().ToUpper() == dataPrefix)
                        {
                            this.DataPrefix = dataPrefix;
                            break;
                        }
                    }
                }

                if (string.IsNullOrEmpty(this.DataPrefix))
                {
                    //get default dataset from database
                    this.DataPrefix = this.DBConnection.DIDataSetDefault();
                }

                //check languagecode exists in the database
                if (!string.IsNullOrEmpty(langaugeCode))
                {
                    if (this.DBConnection.IsValidDILanguage(this.DataPrefix, langaugeCode))
                    {
                        this.LanguageCode = langaugeCode;
                    }
                    else
                    {
                        //If language code doesnt exist then create langauge tables.
                        LanguageBuilder NewLanguage = new LanguageBuilder(this.DBConnection, this.DBQueries);
                        NewLanguage.CreateNewLanguageTables(langaugeCode, langaugeCode, this.DataPrefix);
                        this.LanguageCode = "_" + langaugeCode;
                    }
                }

                if (string.IsNullOrEmpty(this.LanguageCode))
                {
                    // get default language code
                    this.LanguageCode = this.DBConnection.DILanguageCodeDefault(this.DataPrefix);
                }
            }
            catch (Exception ex)
            {
                ExceptionFacade.ThrowException(ex);
            }
        }