Exemplo n.º 1
0
 /// <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;
 }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }