コード例 #1
0
ファイル: FileExtend.cs プロジェクト: Oldmansoft/WebMan
        private static IFormInput DealFile(HandlerParameter input, ModelPropertyContent content)
        {
            var result = new FormInputCreator.Inputs.MultiFile();

            input.SetInputProperty(result);
            result.Init(content, input.Name, input.Value, null);
            return(result);
        }
コード例 #2
0
ファイル: StaticTable.cs プロジェクト: Oldmansoft/WebMan
        private HtmlNode CreateNodeFromModel(object model, ModelPropertyContent propertyContent)
        {
            var value = GetValueFromModel(model, propertyContent.Property);

            if (value == null)
            {
                return(new HtmlText(string.Empty));
            }
            return(ValueDisplay.Instance.Convert(propertyContent.Property.PropertyType, value, propertyContent));
        }
コード例 #3
0
 public HtmlNode Convert(Type type, object value, ModelPropertyContent propertyContent)
 {
     if (type.IsGenericType)
     {
         var genericType = type.GetGenericTypeDefinition();
         if (GenericDealers.ContainsKey(genericType))
         {
             return(GenericDealers[genericType](type, value, propertyContent));
         }
     }
     return(ConvertSimpleType(type, value, propertyContent));
 }
コード例 #4
0
 private HtmlNode ConvertSimpleType(Type type, object value, ModelPropertyContent propertyContent)
 {
     if (!string.IsNullOrEmpty(propertyContent.Format))
     {
         return(new HtmlText(string.Format(propertyContent.Format, value)));
     }
     if (SimpleDealers.ContainsKey(type))
     {
         return(SimpleDealers[type].Convert(value, propertyContent));
     }
     if (type.IsEnum)
     {
         return(new HtmlText(EnumProvider.Instance.GetDescription(type, value)));
     }
     return(new HtmlText(value.ToString()));
 }
コード例 #5
0
        private HtmlNode ListDeal(Type type, object value, ModelPropertyContent propertyContent)
        {
            var ul = new HtmlElement(HtmlTag.Ul);

            var source   = value as System.Collections.IEnumerable;
            var itemType = type.GetGenericArguments()[0];

            foreach (var item in source)
            {
                if (item == null)
                {
                    continue;
                }
                var li = new HtmlElement(HtmlTag.Li);
                ul.Append(li);
                li.Append(Convert(itemType, item, propertyContent));
            }
            return(ul);
        }
コード例 #6
0
 private HtmlNode NullableDeal(Type type, object value, ModelPropertyContent propertyContent)
 {
     return(ConvertSimpleType(Nullable.GetUnderlyingType(type), value, propertyContent));
 }