示例#1
0
 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
     };
 }
示例#2
0
        /// <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);
        }