public static string GetTranslation(string tableName, string columnName, object[] keys, byte languageId) { // If English, don't try to get a translation. if (languageId == (int)IID.BusinessLayer.Globalization.Language.English) { return(null); } using (Entity context = new Entity()) { string keyValues = String.Join(",", keys); t_translation translation = context.t_translation.Find(tableName, columnName, keyValues, languageId); return(translation?.value); } }
public static t_translation SetTranslation(string tableName, string columnName, object[] keys, byte languageId, string value, int userId) { // If English, don't try to set a translation. if (languageId == (int)IID.BusinessLayer.Globalization.Language.English) { return(null); } using (Entity context = new Entity()) { // Look for an existing translation. string keyValues = String.Join(",", keys); t_translation translation = context.t_translation.Find(tableName, columnName, keyValues, languageId); if (String.IsNullOrEmpty(value)) { // Don't store a null/empty string. If a previous entry exists, delete it. if (translation != null) { context.t_translation.Remove(translation); } } else { // Add an entry if necessary, then set the new value. if (translation == null) { translation = new t_translation(); translation.table_name = tableName; translation.column_name = columnName; translation.key_values = keyValues; translation.language_id = languageId; translation.createdby_userid = userId; translation.created_date = DateTime.Now; context.t_translation.Add(translation); } else { translation.updatedby_userid = userId; translation.updated_date = DateTime.Now; } translation.value = value; } context.SaveChanges(); return(translation); } }