private static void AddObjectTranslation(eObjColKey key, IList<DataObject> dbos) { if (dbos == null || dbos.Count < 1 || key == eObjColKey.eNULL) return; foreach (DataObject obj in dbos) { if (obj.GetType().GetInterface(typeof(ILanguageTable).Name, false) == null) continue; AddObjectTranslation(key, (ILanguageTable)obj); } }
private static void AddObjectTranslation(eObjColKey key, ILanguageTable dbo) { if (dbo == null || key == eObjColKey.eNULL || Util.IsEmpty(dbo.Language) || Util.IsEmpty(dbo.TranslationId) || !(dbo is DataObject)) return; if (!m_objectTranslations.ContainsKey(key)) { Dictionary<string, Dictionary<string, DataObject>> lngCol = new Dictionary<string, Dictionary<string, DataObject>>(); Dictionary<string, DataObject> objCol = new Dictionary<string, DataObject>(); objCol.Add(dbo.TranslationId, (DataObject)dbo); lngCol.Add(dbo.Language.ToUpper(), objCol); m_objectTranslations.Add(key, lngCol); return; } if (!m_objectTranslations[key].ContainsKey(dbo.Language.ToUpper())) { Dictionary<string, DataObject> objCol = new Dictionary<string, DataObject>(); objCol.Add(dbo.TranslationId, (DataObject)dbo); m_objectTranslations[key].Add(dbo.Language.ToUpper(), objCol); return; } if (!m_objectTranslations[key][dbo.Language.ToUpper()].ContainsKey(dbo.TranslationId)) { m_objectTranslations[key][dbo.Language.ToUpper()].Add(dbo.TranslationId, (DataObject)dbo); return; } }