Ejemplo n.º 1
0
 public CamlParameterBindingContentTypeId(CamlParameterName parameterName, CamlParameterValueBinder binder)
     : base(parameterName, binder)
 {
 }
Ejemplo n.º 2
0
 public CamlParameterBindingModStat(CamlParameterName parameterName, CamlParameterValueBinder binder)
     : base(parameterName, binder)
 {
 }
Ejemplo n.º 3
0
 public CamlParameterBindingDateTime(CamlParameterName parameterName, CamlParameterValueBinder binder, bool includeTimeValue)
     : base(parameterName, binder)
 {
     this.IncludeTimeValue = includeTimeValue;
 }
Ejemplo n.º 4
0
 public CamlParameterBindingGuid(CamlParameterName parameterName, CamlParameterValueBinder binder)
     : base(parameterName, binder)
 {
 }
Ejemplo n.º 5
0
 public CamlParameterBindingInteger(CamlParameterName parameterName, CamlParameterValueBinder binder)
     : base(parameterName, binder)
 {
 }
Ejemplo n.º 6
0
 public CamlParameterBindingBoolean(CamlParameterName parameterName, CamlParameterValueBinder binder)
     : base(parameterName, binder)
 {
 }
Ejemplo n.º 7
0
        public static ICamlParameterBinding GetValueBinding(SPSite parentSite, SPFieldType fieldType, string fieldTypeAsString, bool includeTimeValue, Type memberType, CamlParameterName parameterName, PropertyInfo property)
        {
            Type valueType = memberType.GetEnumeratedType() ?? memberType;
            CamlParameterValueBinder binder = null;

            if (property != null)
            {
                binder = propertyBinders.EnsureKeyValue(property, CreateBinderFromPropertyInfo);
            }
            switch (fieldType)
            {
            case SPFieldType.Boolean:
                return(new CamlParameterBindingBoolean(parameterName, binder));

            case SPFieldType.DateTime:
                return(new CamlParameterBindingDateTime(parameterName, binder, includeTimeValue));

            case SPFieldType.Guid:
                return(new CamlParameterBindingGuid(parameterName, binder));

            case SPFieldType.Counter:
            case SPFieldType.Integer:
                return(new CamlParameterBindingInteger(parameterName, binder));

            case SPFieldType.Currency:
            case SPFieldType.Number:
                return(new CamlParameterBindingNumber(parameterName, binder));

            case SPFieldType.Lookup:
            case SPFieldType.User:
                if (valueType.IsOf <SPModel>())
                {
                    return(new CamlParameterBindingLookup(parameterName, bindSPModelID));
                }
                if (valueType.IsOf <int>())
                {
                    return(new CamlParameterBindingLookup(parameterName, binder));
                }
                if (valueType.IsOf <SPPrincipal>())
                {
                    return(new CamlParameterBindingLookup(parameterName, bindSPPrincipalID));
                }
                if (valueType.IsOf <SPListItem>())
                {
                    return(new CamlParameterBindingLookup(parameterName, bindSPListItemID));
                }
                if (valueType.IsOf <Guid>())
                {
                    return(new CamlParameterBindingGuid(parameterName, binder));
                }
                break;

            case SPFieldType.URL:
                return(new CamlParameterBindingUrl(parameterName, binder));

            case SPFieldType.Choice:
                if (memberType.IsEnum)
                {
                    return(new CamlParameterBindingString(parameterName, enumBinder.EnsureKeyValue(memberType, CreateBinderFromEnumType)));
                }
                break;

            case SPFieldType.ModStat:
                return(new CamlParameterBindingModStat(parameterName, binder));
            }
            switch (fieldTypeAsString)
            {
            case "TaxonomyFieldType":
            case "TaxonomyFieldTypeMulti":
                if (valueType.IsOf <int>())
                {
                    return(new CamlParameterBindingLookup(parameterName, binder));
                }
                if (valueType.IsOf <Guid>())
                {
                    return(new CamlParameterBindingLookup(parameterName, bindTermWssIdFromGuid));
                }
                if (valueType.IsOf <Term>())
                {
                    return(new CamlParameterBindingLookup(parameterName, bindTermWssId));
                }
                break;
            }
            return(new CamlParameterBindingString(parameterName, binder));
        }