public FormTaxonomyType(TaxonomyTypeViewModel taxonomyTypeViewModel) { TypeId = taxonomyTypeViewModel.Id; Input = new FieldInput(taxonomyTypeViewModel.Name); Taxonomies = taxonomyTypeViewModel.Taxonomies.Select(o => new FormTaxonomy(o)); Display = new FieldDisplay { Title = taxonomyTypeViewModel.Title, RenderType = FieldRenderType.CheckBoxList }; }
/// <summary> /// Chuyển đổi UI của FieldDisplay sang ngôn ngữ hiện tại /// </summary> /// <typeparam name="TLoc"></typeparam> /// <param name="fieldDisplay"></param> /// <param name="loc"></param> /// <returns></returns> private static FieldDisplay ConvertToLocalize <TLoc>(this FieldDisplay fieldDisplay, IStringLocalizer <TLoc> loc) { var newFieldDisplay = new FieldDisplay(); var props = fieldDisplay.GetType().GetProperties(); foreach (var prop in props) { var sourceValue = prop.GetValue(fieldDisplay); if (sourceValue is string) { var convertedValue = loc[sourceValue.ToString()].Value; prop.SetValue(newFieldDisplay, convertedValue); } else { prop.SetValue(newFieldDisplay, sourceValue); } } return(newFieldDisplay); }