예제 #1
0
        SendExpression IUrlExpression.FormData <T>(T input)
        {
            this.As <IUrlExpression>().Input(input);

            Body.WriteFormData(input);

            return(new SendExpression(Context));
        }
예제 #2
0
        SendExpression IUrlExpression.FormData <T>(T target)
        {
            this.As <IUrlExpression>().Input(target);

            var values = new Dictionary <string, string>();

            typeof(T).GetProperties().Where(x => x.CanWrite && x.CanRead).Each(prop =>
            {
                var rawValue = prop.GetValue(target, null);

                values.Add(prop.Name, rawValue?.ToString() ?? string.Empty);
            });

            typeof(T).GetFields().Each(field =>
            {
                var rawValue = field.GetValue(target);

                values.Add(field.Name, rawValue?.ToString() ?? string.Empty);
            });

            Body.WriteFormData(values);

            return(new SendExpression(Context));
        }