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