/// <summary> Populates the translation / language support object for translating common UI terms </summary> /// <param name="Translations"> Translations object to populate from the database </param> /// <param name="Tracer"> Trace object keeps a list of each method executed and important milestones in rendering</param> /// <returns> TRUE if successful, otherwise FALSE </returns> /// <remarks> This calls the 'SobekCM_Get_Translation' stored procedure </remarks> public static bool Populate_Translations( Language_Support_Info Translations, Custom_Tracer Tracer) { if (Tracer != null) { Tracer.Add_Trace("SobekCM_Database.Populate_Translations", String.Empty); } try { // Create the connection using (SqlConnection connect = new SqlConnection(connectionString)) { SqlCommand executeCommand = new SqlCommand("SobekCM_Get_Translation", connect) {CommandType = CommandType.StoredProcedure}; // Clear the translation information Translations.Clear(); // Create the data reader connect.Open(); using (SqlDataReader reader = executeCommand.ExecuteReader()) { while (reader.Read()) { Translations.Add_French( reader.GetString(1), reader.GetString(2)); Translations.Add_Spanish( reader.GetString(1), reader.GetString(3)); } reader.Close(); } connect.Close(); } // Return the first table from the returned dataset return true; } catch (Exception ee) { lastException = ee; if (Tracer != null) { Tracer.Add_Trace("SobekCM_Database.Populate_Translations", "Exception caught during database work", Custom_Trace_Type_Enum.Error); Tracer.Add_Trace("SobekCM_Database.Populate_Translations", ee.Message, Custom_Trace_Type_Enum.Error); Tracer.Add_Trace("SobekCM_Database.Populate_Translations", ee.StackTrace, Custom_Trace_Type_Enum.Error); } return false; } }