/// <param name="sourceObjectPropertyBuilder"> /// The original <see cref="IVMPropertyBuilder{TSourceObject}"/> that was extended by /// with the extension method. /// </param> internal SingleSelectionBuilder( IVMPropertyBuilder <TSourceObject> sourceObjectPropertyBuilder, Func <IVMPropertyBuilder <TSourceObject>, IVMPropertyDescriptor <TItemSource> > selectedSourceItemPropertyFactory ) { Check.NotNull(sourceObjectPropertyBuilder, nameof(sourceObjectPropertyBuilder)); _sourceObjectPropertyBuilder = sourceObjectPropertyBuilder; _selectedSourceItemPropertyFactory = selectedSourceItemPropertyFactory; }
public static IVMPropertyDescriptor <SingleSelectionVM <TEnum> > EnumSelection <TSourceObject, TEnum>( this IVMPropertyBuilder <TSourceObject> sourceObjectPropertyFactory, Expression <Func <TSourceObject, TEnum> > selectedSourceItemSelector ) { Check.NotNull(selectedSourceItemSelector, nameof(selectedSourceItemSelector)); Check.NotNull(sourceObjectPropertyFactory, nameof(sourceObjectPropertyFactory)); return(sourceObjectPropertyFactory .SingleSelection(selectedSourceItemSelector) .WithItems(x => GetEnumValues <TEnum>()) .WithCaption(x => EnumLocalizer.GetCaption(x))); }
public static MultiSelectionBuilder <TSourceObject, TItemSource> MultiSelection <TSourceObject, TItemSource>( this IVMPropertyBuilder <TSourceObject> sourceObjectPropertyFactory, Func <TSourceObject, ICollection <TItemSource> > selectedSourceItemsSelector ) { Check.NotNull(selectedSourceItemsSelector, nameof(selectedSourceItemsSelector)); Check.NotNull(sourceObjectPropertyFactory, nameof(sourceObjectPropertyFactory)); var builder = new MultiSelectionBuilder <TSourceObject, TItemSource>( sourceObjectPropertyFactory, selectedSourceItemsPropertyFactory: factory => factory.Property.DelegatesTo(selectedSourceItemsSelector) ); return(builder); }
public static SingleSelectionBuilder <TSourceObject, TItemSource> SingleSelection <TSourceObject, TItemSource>( this IVMPropertyBuilder <TSourceObject> sourceObjectPropertyFactory, Expression <Func <TSourceObject, TItemSource> > selectedSourceItemSelector ) { Check.NotNull(selectedSourceItemSelector, nameof(selectedSourceItemSelector)); Check.NotNull(sourceObjectPropertyFactory, nameof(sourceObjectPropertyFactory)); var builder = new SingleSelectionBuilder <TSourceObject, TItemSource>( sourceObjectPropertyFactory, selectedSourceItemPropertyFactory: factory => factory.Property.MapsTo(selectedSourceItemSelector) ); return(builder); }