protected PropertyBase.Parameters CreateParameters( BindableObjectProvider businessObjectProvider, IPropertyInformation propertyInfo, Type underlyingType, Type concreteType, IListInfo listInfo, bool isRequired, bool isReadOnly, IBindablePropertyReadAccessStrategy bindablePropertyReadAccessStrategy = null, IBindablePropertyWriteAccessStrategy bindablePropertyWriteAccessStrategy = null, BindableObjectGlobalizationService bindableObjectGlobalizationService = null) { return(new PropertyBase.Parameters( businessObjectProvider, propertyInfo, underlyingType, new Lazy <Type> (() => concreteType), listInfo, isRequired, isReadOnly, new BindableObjectDefaultValueStrategy(), bindablePropertyReadAccessStrategy ?? SafeServiceLocator.Current.GetInstance <IBindablePropertyReadAccessStrategy>(), bindablePropertyWriteAccessStrategy ?? SafeServiceLocator.Current.GetInstance <IBindablePropertyWriteAccessStrategy>(), bindableObjectGlobalizationService ?? SafeServiceLocator.Current.GetInstance <BindableObjectGlobalizationService>())); }
public override void SetUp() { base.SetUp(); _bindableObjectProvider = new BindableObjectProvider(); _mockRepository = new MockRepository(); _bindableObjectGlobalizationService = SafeServiceLocator.Current.GetInstance <BindableObjectGlobalizationService>(); }
public override void SetUp() { base.SetUp(); _type = typeof(DerivedBusinessObjectClass); _businessObjectProvider = new BindableObjectProvider(); _metadataFactory = BindableObjectMetadataFactory.Create(); _bindableObjectGlobalizationService = SafeServiceLocator.Current.GetInstance <BindableObjectGlobalizationService>(); }
public override void SetUp() { base.SetUp(); _bindableObjectProvider = CreateBindableObjectProviderWithStubBusinessObjectServiceFactory(); BusinessObjectProvider.SetProvider <BindableObjectProviderAttribute> (_bindableObjectProvider); BusinessObjectProvider.SetProvider <BindableObjectWithIdentityProviderAttribute> (_bindableObjectProvider); _bindableObjectGlobalizationService = SafeServiceLocator.Current.GetInstance <BindableObjectGlobalizationService>(); _mockRepository = new MockRepository(); }
private BooleanProperty CreateProperty( string propertyName, BindableObjectProvider provider = null, BindableObjectGlobalizationService bindableObjectGlobalizationService = null) { return(new BooleanProperty( GetPropertyParameters( GetPropertyInfo(typeof(ClassWithValueType <bool>), propertyName), provider ?? _businessObjectProvider, bindableObjectGlobalizationService: bindableObjectGlobalizationService))); }
private EnumerationProperty CreateProperty( Type type, string propertyName, BindableObjectGlobalizationService bindableObjectGlobalizationService = null) { return(new EnumerationProperty( GetPropertyParameters( GetPropertyInfo(type, propertyName), _businessObjectProvider, bindableObjectGlobalizationService: bindableObjectGlobalizationService))); }
public override void SetUp() { base.SetUp(); _defaultServiceLocator = DefaultServiceLocator.Create(); _globalizationService = _defaultServiceLocator.GetInstance <BindableObjectGlobalizationService>(); var bindableObjectClass = BindableObjectProviderTestHelper.GetBindableObjectClass(typeof(ClassWithResources)); _targetType = TypeAdapter.Create(bindableObjectClass.TargetType); _uiCultureBackup = Thread.CurrentThread.CurrentUICulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture; }
public Parameters( [NotNull] BindableObjectProvider businessObjectProvider, [NotNull] IPropertyInformation propertyInfo, [NotNull] Type underlyingType, [NotNull] Lazy <Type> concreteType, [CanBeNull] IListInfo listInfo, bool isRequired, bool isReadOnly, [NotNull] IDefaultValueStrategy defaultValueStrategy, [NotNull] IBindablePropertyReadAccessStrategy bindablePropertyReadAccessStrategy, [NotNull] IBindablePropertyWriteAccessStrategy bindablePropertyWriteAccessStrategy, [NotNull] BindableObjectGlobalizationService bindableObjectGlobalizationService) { ArgumentUtility.CheckNotNull("businessObjectProvider", businessObjectProvider); ArgumentUtility.CheckNotNull("propertyInfo", propertyInfo); ArgumentUtility.CheckNotNull("underlyingType", underlyingType); ArgumentUtility.CheckNotNull("concreteType", concreteType); ArgumentUtility.CheckNotNull("defaultValueStrategy", defaultValueStrategy); ArgumentUtility.CheckNotNull("bindablePropertyReadAccessStrategy", bindablePropertyReadAccessStrategy); ArgumentUtility.CheckNotNull("bindablePropertyWriteAccessStrategy", bindablePropertyWriteAccessStrategy); ArgumentUtility.CheckNotNull("bindableObjectGlobalizationService", bindableObjectGlobalizationService); BusinessObjectProvider = businessObjectProvider; PropertyInfo = propertyInfo; UnderlyingType = underlyingType; ConcreteType = new Lazy <Type> ( () => { var actualConcreteType = concreteType.Value; if (!underlyingType.IsAssignableFrom(actualConcreteType)) { throw new InvalidOperationException( string.Format( "The concrete type must be assignable to the underlying type '{0}'.\r\nConcrete type: {1}", underlyingType.FullName, actualConcreteType.FullName)); } return(actualConcreteType); }, LazyThreadSafetyMode.ExecutionAndPublication); ListInfo = listInfo; IsRequired = isRequired; IsReadOnly = isReadOnly; DefaultValueStrategy = defaultValueStrategy; BindablePropertyReadAccessStrategy = bindablePropertyReadAccessStrategy; BindablePropertyWriteAccessStrategy = bindablePropertyWriteAccessStrategy; BindableObjectGlobalizationService = bindableObjectGlobalizationService; }
public override void SetUp() { base.SetUp(); _businessObjectProvider = CreateBindableObjectProviderWithStubBusinessObjectServiceFactory(); _bindableObjectGlobalizationService = SafeServiceLocator.Current.GetInstance <BindableObjectGlobalizationService>(); ClassReflector classReflector = new ClassReflector( typeof(ClassWithValueType <bool>), _businessObjectProvider, BindableObjectMetadataFactory.Create(), _bindableObjectGlobalizationService); _businessObjectClass = classReflector.GetMetadata(); _mockRepository = new MockRepository(); }
private ExtensibleEnumerationProperty CreateProperty( Type propertyType, BindableObjectGlobalizationService bindableObjectGlobalizationService = null) { var propertyStub = MockRepository.GenerateStub <IPropertyInformation>(); propertyStub.Stub(stub => stub.PropertyType).Return(propertyType); propertyStub.Stub(stub => stub.GetIndexParameters()).Return(new ParameterInfo[0]); var parameters = GetPropertyParameters( propertyStub, _businessObjectProvider, bindableObjectGlobalizationService: bindableObjectGlobalizationService); return(new ExtensibleEnumerationProperty(parameters)); }
protected PropertyBase.Parameters GetPropertyParameters( IPropertyInformation property, BindableObjectProvider provider, IBindablePropertyReadAccessStrategy bindablePropertyReadAccessStrategy = null, IBindablePropertyWriteAccessStrategy bindablePropertyWriteAccessStrategy = null, BindableObjectGlobalizationService bindableObjectGlobalizationService = null) { var reflector = new PropertyReflector( property, provider, MockRepository.GenerateStub <IDefaultValueStrategy>(), bindablePropertyReadAccessStrategy ?? SafeServiceLocator.Current.GetInstance <IBindablePropertyReadAccessStrategy>(), bindablePropertyWriteAccessStrategy ?? SafeServiceLocator.Current.GetInstance <IBindablePropertyWriteAccessStrategy>(), bindableObjectGlobalizationService ?? SafeServiceLocator.Current.GetInstance <BindableObjectGlobalizationService>()); return((PropertyBase.Parameters)PrivateInvoke.InvokeNonPublicMethod( reflector, typeof(PropertyReflector), "CreateParameters", GetUnderlyingType(reflector))); }
public BindableDomainObjectPropertyReflector( IPropertyInformation propertyInfo, BindableObjectProvider businessObjectProvider, IDomainModelConstraintProvider domainModelConstraintProvider, IDefaultValueStrategy defaultValueStrategy, IBindablePropertyReadAccessStrategy bindablePropertyReadAccessStrategy, IBindablePropertyWriteAccessStrategy bindablePropertyWriteAccessStrategy, BindableObjectGlobalizationService bindableObjectGlobalizationService) : base( propertyInfo, businessObjectProvider, defaultValueStrategy, bindablePropertyReadAccessStrategy, bindablePropertyWriteAccessStrategy, bindableObjectGlobalizationService) { ArgumentUtility.CheckNotNull("businessObjectProvider", businessObjectProvider); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); _domainModelConstraintProvider = domainModelConstraintProvider; }
protected PropertyBase(Parameters parameters) { ArgumentUtility.CheckNotNull("parameters", parameters); if (parameters.PropertyInfo.GetIndexParameters().Length > 0) { throw new InvalidOperationException("Indexed properties are not supported."); } _businessObjectProvider = parameters.BusinessObjectProvider; _propertyInfo = parameters.PropertyInfo; _underlyingType = parameters.UnderlyingType; _listInfo = parameters.ListInfo; _isRequired = parameters.IsRequired; _isReadOnly = parameters.IsReadOnly; _defaultValueStrategy = parameters.DefaultValueStrategy; _bindablePropertyReadAccessStrategy = parameters.BindablePropertyReadAccessStrategy; _bindablePropertyWriteAccessStrategy = parameters.BindablePropertyWriteAccessStrategy; _bindableObjectGlobalizationService = parameters.BindableObjectGlobalizationService; _isNullable = GetNullability(); _valueGetter = Maybe.ForValue(_propertyInfo.GetGetMethod(true)).Select(mi => mi.GetFastInvoker <Func <object, object> >()).ValueOrDefault(); _valueSetter = Maybe.ForValue(_propertyInfo.GetSetMethod(true)).Select(mi => mi.GetFastInvoker <Action <object, object> >()).ValueOrDefault(); }
private new PropertyBase.Parameters CreateParameters( BindableObjectProvider businessObjectProvider = null, IPropertyInformation propertyInfo = null, Type underlyingType = null, Type concreteType = null, IListInfo listInfo = null, bool isRequired = false, bool isReadOnly = false, IBindablePropertyReadAccessStrategy bindablePropertyReadAccessStrategy = null, IBindablePropertyWriteAccessStrategy bindablePropertyWriteAccessStrategy = null, BindableObjectGlobalizationService bindableObjectGlobalizationService = null) { return(base.CreateParameters( businessObjectProvider ?? _bindableObjectProvider, propertyInfo, underlyingType, concreteType, listInfo, isRequired, isReadOnly, bindablePropertyReadAccessStrategy, bindablePropertyWriteAccessStrategy, bindableObjectGlobalizationService)); }
private string GetDisplayName(Enum value) { return(BindableObjectGlobalizationService.GetEnumerationValueDisplayName(value)); }
public BindableDomainObjectMetadataFactory(BindableObjectGlobalizationService bindableObjectGlobalizationService) { ArgumentUtility.CheckNotNull("bindableObjectGlobalizationService", bindableObjectGlobalizationService); _bindableObjectGlobalizationService = bindableObjectGlobalizationService; }
private string GetDisplayName(IExtensibleEnumInfo extensibleEnumInfo) { return(BindableObjectGlobalizationService.GetExtensibleEnumerationValueDisplayName(extensibleEnumInfo.Value)); }
/// <summary> Returns the human readable value of the boolean property. </summary> /// <param name="value"> The <see cref="bool"/> value to be formatted. </param> /// <returns> The human readable string value of the boolean property. </returns> /// <remarks> The value of this property may depend on the current culture. </remarks> public string GetDisplayName(bool value) { return(BindableObjectGlobalizationService.GetBooleanValueDisplayName(value)); }