//public Sample() : this(PropBagTypeSafetyMode.AllPropsMustBeRegistered, null) { } //public Sample(PropBagTypeSafetyMode typeSafetyMode) : this(typeSafetyMode, null) { } public Sample(PropBagTypeSafetyMode typeSafetyMode, PSAccessServiceCreatorInterface storeAccessCreator, string fullClassName, IPropFactory propFactory) : base(typeSafetyMode, storeAccessCreator, propFactory, fullClassName) { AddProp <object>("PropObject"); AddProp <string>("PropString"); SubscribeToPropChanged <string>(GetDelegate <string>("DoWhenStringChanged"), "PropString"); AddPropNoValue <string>("PropStringCallDoAfter", comparer: EqualityComparer <string> .Default.Equals); SubscribeToPropChanged <string>(GetDelegate <string>("DoWhenStringChanged"), "PropStringCallDoAfter"); AddPropObjComp <string>("PropStringUseRefComp", extraInfo: null); SubscribeToPropChanged <string>(GetDelegate <string>("DoWhenStringChanged"), "PropStringUseRefComp"); AddProp <bool>("PropBool"); AddProp <int>("PropInt"); AddProp <TimeSpan>("PropTimeSpan"); AddProp <Uri>("PropUri"); AddProp <Lazy <int> >("PropLazyInt"); AddProp <Nullable <int> >("PropNullableInt", null, null, initialValue: -1); SubscribeToPropChanged <Nullable <int> >(GetDelegate <Nullable <int> >("DoWhenNullIntChanged"), "PropNullableInt"); AddProp <ICollection <int> >("PropICollectionInt"); SubscribeToPropChanged <ICollection <int> >(GetDelegate <ICollection <int> >("DoWhenICollectionIntChanged"), "PropICollectionInt"); }
//public ExtStoreModel() : this(PropBagTypeSafetyMode.AllPropsMustBeRegistered, null) { } //public ExtStoreModel(PropBagTypeSafetyMode typeSafetyMode) : this(typeSafetyMode, null) { } public ExtStoreModel(PropBagTypeSafetyMode typeSafetyMode, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory, string fullClassName) : base(typeSafetyMode, storeAccessCreator, propFactory, fullClassName) { AddProp <int>("PropInt3"); AddProp <int>("PropInt4"); }
static PropStoreServicesForThisApp() { _mct.Measure("Begin PropStoreServicesForThisApp"); //Person p = new Person(); // _mct.MeasureAndReport("New Person"); // Build the PropFactory Provider and the two Delegate Caches on which it depends. ITypeDescBasedTConverterCache typeDescBasedTConverterCache = new TypeDescBasedTConverterCache(); _mct.MeasureAndReport("After new TypeDescBasedTConverterCache"); IProvideDelegateCaches delegateCacheProvider = new SimpleDelegateCacheProvider(typeof(PropBag), typeof(APFGenericMethodTemplates)); _mct.MeasureAndReport("After new SimpleDelegateCacheProvider"); IConvertValues valueConverter = new PropFactoryValueConverter(typeDescBasedTConverterCache); ResolveTypeDelegate typeResolver = null; _propFactoryFactory = BuildThePropFactoryFactory(valueConverter, delegateCacheProvider, typeResolver); // Build the AppDomain-Wide Property Store and the EventHandler (Delegate) Dispatch cache on which it depends. HandlerDispatchDelegateCacheProvider = new SimpleHandlerDispatchDelegateCacheProvider(); _mct.MeasureAndReport("After new SimpleHandlerDispatchDelegateCacheProvider"); // This creates the global, shared, Property Store. _theStore = new SimplePropStoreProxy(MAX_NUMBER_OF_PROPERTIES, HandlerDispatchDelegateCacheProvider); // Get a reference to the PropStoreAccessService Factory that the PropertyStore provides. PSAccessServiceCreatorInterface psAccessServiceFactory = _theStore.PropStoreAccessServiceFactory; _vmActivator = new SimpleViewModelActivator(); _mct.MeasureAndReport("After new SimpleViewModelActivator"); IPropModelBuilder propModelBuilder = GetPropModelProvider(_propFactoryFactory); PropModelCache = new SimplePropModelCache(propModelBuilder); WrapperTypeCreator = BuildSimpleWrapperTypeCreator(); _mct.MeasureAndReport("After GetSimpleWrapperTypeCreator"); ViewModelFactory = new SimpleViewModelFactory(PropModelCache, _vmActivator, psAccessServiceFactory, null, WrapperTypeCreator); _mct.MeasureAndReport("After new ViewModelHelper"); AutoMapperService = GetAutoMapperProvider(ViewModelFactory); _mct.MeasureAndReport("After GetAutoMapperProvider"); ViewModelFactory.AutoMapperService = AutoMapperService; //_defaultPropFactory = BuildDefaultPropFactory(valueConverter, delegateCacheProvider, typeResolver); //_mct.MeasureAndReport("After new BuildDefaultPropFactory"); }
public DestinationModel1(PropBagTypeSafetyMode typeSafetyMode, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory, string fullClassName) : base(typeSafetyMode, storeAccessCreator, propFactory, fullClassName) { AddProp <int>("Id", null, null, initialValue: 0); AddProp <string>("FirstName", null, null, null); AddProp <string>("LastName", null, null, null); AddProp <string>("CityOfResidence", null, null, null); AddProp <Profession>("Profession", null, null, Profession.Default); }
public MainWindowViewModel(PropModel pm, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory, string fullClassName) : base(pm, storeAccessCreator, propFactory, fullClassName) { //System.Diagnostics.Debug.WriteLine("Beginning to construct MainWindowViewModel -- From PropModel."); //IHaveADbContext dBActivator = new DBActivator<PersonDB>(System.Environment.SpecialFolder.CommonApplicationData); //PersonDB personDb = (PersonDB)dBActivator.DbContext; //PersonDAL b = new PersonDAL(personDb); //SetIt(b, "Business"); //System.Diagnostics.Debug.WriteLine("Completed Constructing MainWindowViewModel -- From PropModel."); }
/// <summary> /// Full service, all arguments must have a non-null value. /// </summary> /// <param name="propModelCache"></param> /// <param name="viewModelActivator"></param> /// <param name="storeAccessCreator"></param> /// <param name="autoMapperService"></param> /// <param name="wrapperTypeCreator"></param> public SimpleViewModelFactory ( PropModelCacheInterface propModelCache, ViewModelActivatorInterface viewModelActivator, PSAccessServiceCreatorInterface storeAccessCreator, object autoMapperService, ICreateWrapperTypes wrapperTypeCreator ) : this(propModelCache, viewModelActivator, storeAccessCreator) { AutoMapperService = autoMapperService; // ?? throw new ArgumentNullException(nameof(autoMapperService)); _wrapperTypeCreator = wrapperTypeCreator ?? throw new ArgumentNullException(nameof(wrapperTypeCreator)); }
/// <summary> /// This is provided for use by clients that require no loading of PropModels by FullClassName, /// or will otherwise retrieve PropModels using some other mechanisim. /// </summary> /// <param name="viewModelActivator"></param> /// <param name="storeAccessCreator"></param> public SimpleViewModelFactory ( ViewModelActivatorInterface viewModelActivator, PSAccessServiceCreatorInterface storeAccessCreator ) { _propModelCache = null; _viewModelActivator = viewModelActivator ?? throw new ArgumentNullException(nameof(viewModelActivator)); _storeAccessCreator = storeAccessCreator ?? throw new ArgumentNullException(nameof(storeAccessCreator)); AutoMapperService = null; _wrapperTypeCreator = null; }
public LooseModel(PropBagTypeSafetyMode typeSafetyMode, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory) : base(typeSafetyMode, storeAccessCreator, propFactory, fullClassName: "PropBagLib.Tests.LooseModel") { AddProp <object>("PropObject"); AddProp <string>("PropString"); AddProp <string>("PropString2", null, null, "12"); AddProp <bool>("PropBool", initialValue: false); AddProp <int>("PropInt"); AddProp <TimeSpan>("PropTimeSpan"); AddProp <Uri>("PropUri"); AddProp <Lazy <int> >("PropLazyInt"); //AddBinding<string>("PropString2", "PropString", FF); }
public void Create() { upCntr = 0; object stuff = new object(); AutoMapperSupport.AutoMapperHelpers mapperHelpers = new AutoMapperSupport.AutoMapperHelpers(); IPropFactory standardPropFactory = mapperHelpers.PropFactory_V1; IPropFactory factory = mapperHelpers.PropFactoryExt_V1; PSAccessServiceCreatorInterface storeAccessCreator = mapperHelpers.StoreAccessCreator; mod1 = ExtStoreModel.Create(storeAccessCreator, factory); }
static public ExtStoreModel Create(PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory factory) { // TODO: AAA, ExtStoreModel esm = new ExtStoreModel(PropBagTypeSafetyMode.AllPropsMustBeRegistered, storeAccessCreator, factory, null); PropExternStore <int> pi = (PropExternStore <int>)esm.AddPropNoStore <int>("PropInt", null); PropExternStore <string> ps = (PropExternStore <string>)esm.AddPropNoStore <string>("PropString", null); ExtData ed = new ExtData(); pi.Getter = (x) => ed.PropIntStandard; pi.Setter = (x, v) => ed.PropIntStandard = v; ps.Getter = (x) => ed.PropStringStandard; ps.Setter = (x, v) => ed.PropStringStandard = v; return(esm); }
public PubPropBag(PropBagTypeSafetyMode typeSafetyMode, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory, string fullClassName) : base(typeSafetyMode, storeAccessCreator, propFactory, fullClassName) { }
// Starting with an empty PropItemSet public PubPropBag(PropBagTypeSafetyMode typeSafetyMode, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory) : this(typeSafetyMode, storeAccessCreator, propFactory, fullClassName : null) { }
public DestinationModel5(PropBagTypeSafetyMode typeSafetyMode, PSAccessServiceCreatorInterface storeAccessCreator, string fullClassName, IPropFactory propFactory) : base(typeSafetyMode, storeAccessCreator, propFactory, fullClassName) { AddProp <Guid>("ProductId", null, null, Guid.NewGuid()); }
//int ITEMS_PER_PAGE = 10; public PersonCollectionViewModel(PropModel pm, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory, string fullClassName) : base(pm, storeAccessCreator, propFactory, fullClassName) { System.Diagnostics.Debug.WriteLine("Constructing PersonCollectionViewModel -- with PropModel."); }
public PersonVM(PropModel pm, PSAccessServiceCreatorInterface storeAccessCreator, IPropFactory propFactory, string fullClassName) : base(pm, storeAccessCreator, propFactory, fullClassName) { }
private static IProvideAutoMappers GetAutoMapperProvider(IViewModelActivator viewModelActivator, PSAccessServiceCreatorInterface storeAccessCreator) { // TODO: Expose the creation of wrapperTypeCreator (ICreateWrapperTypes). IPropBagMapperBuilderProvider propBagMapperBuilderProvider = new SimplePropBagMapperBuilderProvider ( wrapperTypesCreator: null, viewModelActivator: viewModelActivator, storeAccessCreator: storeAccessCreator ); IMapTypeDefinitionProvider mapTypeDefinitionProvider = new SimpleMapTypeDefinitionProvider(); ICachePropBagMappers mappersCachingService = new SimplePropBagMapperCache(); // TODO: Remove the dependency on IProvidePropModels. (See TODO note in SimpleAutoMapperProvider.) SimpleAutoMapperProvider autoMapperProvider = new SimpleAutoMapperProvider ( mapTypeDefinitionProvider: mapTypeDefinitionProvider, mappersCachingService: mappersCachingService, mapperBuilderProvider: propBagMapperBuilderProvider, propModelProvider: null ); return(autoMapperProvider); }