/// <summary> /// zet alle waardes van een DataItemLanguage regel in de DataItem /// Hierdoor kunnen dezelfde velden worden gebruikt in de dataModule /// </summary> /// <param name="languageCode"></param> public void Translate(string languageCode) { if (DataCollection.HasStaticLanguage || languageCode == Site.DefaultLanguage) { return; } string where = "FK_DataItem='" + this.ID + "' AND LanguageCode ='" + languageCode + "'"; DataItemLanguage itemLanguage = DataItemLanguage.GetFirst <DataItemLanguage>(where); if (itemLanguage == null) { return; } this.Title = itemLanguage.Title; foreach (DataField fld in this.DataCollection.DataItemFields) { if (fld.IsMultiLanguageField) { if (fld.FieldType != FieldTypeEnum.ImageList && fld.FieldType != FieldTypeEnum.FileList && fld.FieldType != FieldTypeEnum.DropDown) { System.Reflection.PropertyInfo propItem = this.GetType().GetProperty(fld.MappingColumn); System.Reflection.PropertyInfo propLanguage = itemLanguage.GetType().GetProperty(fld.MappingColumn); Object valueLanguage = propLanguage.GetValue(itemLanguage, null); propItem.SetValue(this, valueLanguage, null); } else if (fld.FieldType == FieldTypeEnum.ImageList) { _imageList1 = BaseCollection <DataFile> .Get("Type = '" + DataFile.TYPE_EXTRA_IMAGE + "' AND FK_Item='" + this.ID + "' AND Language='" + languageCode + "'", "Name"); _imageList1.IsLoaded = true; } else if (fld.FieldType == FieldTypeEnum.FileList) { _imageList1 = BaseCollection <DataFile> .Get("Type = '" + DataFile.TYPE_EXTRA_FILE + "' AND FK_Item='" + this.ID + "' AND Language='" + languageCode + "'", "Name"); _imageList1.IsLoaded = true; } else if (fld.FieldType == FieldTypeEnum.DropDown) { //todo } } } }