コード例 #1
0
 public CalculateAge(IPropertyInfo birthdateProperty, IPropertyInfo ageProperty)
     : base(birthdateProperty)
 {
     AgeProperty = ageProperty;
     InputProperties.Add(birthdateProperty);
     AffectedProperties.Add(ageProperty);
 }
コード例 #2
0
 public ValidateRootObject()
     : base()
 {
     AffectedProperties.Add(RuleBaseClassesRoot.NameProperty);
     AffectedProperties.Add(RuleBaseClassesRoot.CountryProperty);
     AffectedProperties.Add(RuleBaseClassesRoot.StateProperty);
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ToUpper"/> class.
 /// </summary>
 /// <param name="primaryProperty">
 /// The primary property.
 /// </param>
 public ToUpper(IPropertyInfo primaryProperty)
     : base(primaryProperty)
 {
     InputProperties = new List <IPropertyInfo> {
         primaryProperty
     };
     AffectedProperties.Add(primaryProperty);
 }
コード例 #4
0
 public TwoProps(Csla.Core.IPropertyInfo primaryProperty, Csla.Core.IPropertyInfo secondProperty)
     : base(primaryProperty)
 {
     SecondaryProperty = secondProperty;
     AffectedProperties.Add(SecondaryProperty);
     InputProperties = new List <Core.IPropertyInfo> {
         PrimaryProperty, SecondaryProperty
     };
 }
コード例 #5
0
 public CapitalizeFirst(IPropertyInfo primaryProperty)
     : base(primaryProperty)
 {
     InputProperties = new List <IPropertyInfo>()
     {
         primaryProperty
     };
     AffectedProperties.Add(primaryProperty);
 }
コード例 #6
0
 public ClearRule(Csla.Core.IPropertyInfo primaryProperty, Csla.Core.IPropertyInfo clearProperty)
     : base(primaryProperty)
 {
     _clearProperty  = clearProperty;
     InputProperties = new List <Csla.Core.IPropertyInfo> {
         primaryProperty
     };
     AffectedProperties.Add(_clearProperty);
 }
コード例 #7
0
 public PdvOsnovica(IPropertyInfo primaryProperty)
     : base(primaryProperty)
 {
     InputProperties = new List <IPropertyInfo>()
     {
         primaryProperty
     };
     AffectedProperties.Add(primaryProperty);
 }
コード例 #8
0
ファイル: SetStateName.cs プロジェクト: mlivensp/csla
 public SetStateName(IPropertyInfo stateIdProperty, IPropertyInfo stateNameProperty)
     : base(stateIdProperty)
 {
     StateName       = stateNameProperty;
     InputProperties = new List <IPropertyInfo> {
         stateIdProperty
     };
     AffectedProperties.Add(StateName);
 }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LessThan"/> class.
 /// </summary>
 /// <param name="primaryProperty">The primary property.</param>
 /// <param name="compareToProperty">The compare to property.</param>
 public LessThan(IPropertyInfo primaryProperty, IPropertyInfo compareToProperty)
     : base(primaryProperty)
 {
     CompareTo       = compareToProperty;
     InputProperties = new List <IPropertyInfo>()
     {
         primaryProperty, compareToProperty
     };
     AffectedProperties.Add(compareToProperty);
 }
コード例 #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ToUpper"/> class.
        /// </summary>
        /// <param name="primaryProperty">
        /// The primary property.
        /// </param>
        public ToUpper(IPropertyInfo primaryProperty)
            : base(primaryProperty)
        {
            InputProperties = new List <IPropertyInfo> {
                primaryProperty
            };
            AffectedProperties.Add(primaryProperty);

            CanRunOnServer = false;
        }
コード例 #11
0
        public IntegerLessThanOtherInteger(IPropertyInfo intFirst, IPropertyInfo intSecond)
            : base(intFirst)
        {
            InputProperties = new List <IPropertyInfo> {
                intFirst, intSecond
            };

            IntSecondProperty = intSecond;
            AffectedProperties.Add(intSecond);
        }
コード例 #12
0
        public MoneyLessThanOtherMoney(IPropertyInfo moneyFirst, IPropertyInfo moneySecond)
            : base(moneyFirst)
        {
            InputProperties = new List <IPropertyInfo> {
                moneyFirst, moneySecond
            };

            MoneySecondProperty = moneySecond;
            AffectedProperties.Add(moneySecond);
        }
コード例 #13
0
ファイル: CascadeRoot.cs プロジェクト: zuiwanting/csla
 public Increment(PropertyInfo <int> primaryProperty, PropertyInfo <int> affectedProperty) : base(primaryProperty)
 {
     _primaryProperty  = primaryProperty;
     _affectedProperty = affectedProperty;
     if (InputProperties == null)
     {
         InputProperties = new List <IPropertyInfo>();
     }
     InputProperties.Add(primaryProperty);
     AffectedProperties.Add(affectedProperty);
 }
コード例 #14
0
ファイル: AlsoRequiredRule.cs プロジェクト: RobRobertsCE/MVVM
 public AlsoRequiredRule(IPropertyInfo triggerProperty, IPropertyInfo optionalProperty, IPropertyInfo requiredProperty)
     : base(triggerProperty)
 {
     OptionalProperty = optionalProperty;
     RequiredProperty = requiredProperty;
     AffectedProperties.Add(OptionalProperty);
     AffectedProperties.Add(RequiredProperty);
     InputProperties = new List <IPropertyInfo> {
         OptionalProperty, RequiredProperty
     };
 }
コード例 #15
0
ファイル: AsyncRuleRoot.cs プロジェクト: zuiwanting/csla
            public LookupCustomerRule(IPropertyInfo primaryProperty, IPropertyInfo nameProperty)

                : base(primaryProperty)
            {
                _nameProperty = nameProperty;
                AffectedProperties.Add(nameProperty);
                InputProperties = new List <IPropertyInfo>()
                {
                    primaryProperty
                };

                IsAsync = true;
            }
コード例 #16
0
ファイル: DependencyFrom.cs プロジェクト: mlivensp/csla
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="primaryProperty">Primary property for the rule.</param>
 /// <param name="dependencyProperty">The dependency property.</param>
 /// <param name="isBiDirectional">if set to <c>true</c> [is bi directional].</param>
 /// <remarks>
 /// When rules are run for one of the dependency properties the rules for primary property i rerun.
 /// </remarks>
 public DependencyFrom(Csla.Core.IPropertyInfo primaryProperty, Csla.Core.IPropertyInfo dependencyProperty, bool isBiDirectional)
     : base(primaryProperty)
 {
     if (InputProperties == null)
     {
         InputProperties = new List <IPropertyInfo>();
     }
     InputProperties.Add(dependencyProperty);
     if (isBiDirectional)
     {
         AffectedProperties.Add(dependencyProperty);
     }
 }
コード例 #17
0
        public LookupCustomer(IPropertyInfo primaryProperty, IPropertyInfo nameProperty)
            : base(primaryProperty)
        {
            NameProperty    = nameProperty;
            InputProperties = new List <IPropertyInfo>()
            {
                primaryProperty
            };
            AffectedProperties.Add(NameProperty);

            CanRunOnServer           = false;
            CanRunInCheckRules       = false;
            CanRunAsAffectedProperty = false;
            IsAsync = true;
        }
コード例 #18
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LookupCustomer"/> class.
        /// </summary>
        /// <param name="primaryProperty">
        /// The primary property.
        /// </param>
        /// <param name="nameProperty">
        /// The name property.
        /// </param>
        public LookupCustomer(IPropertyInfo primaryProperty, IPropertyInfo nameProperty)
            : base(primaryProperty)
        {
            NameProperty = nameProperty;

            if (InputProperties == null)
            {
                InputProperties = new List <IPropertyInfo>();
            }
            InputProperties.Add(primaryProperty);
            AffectedProperties.Add(nameProperty);

            IsAsync = false;
            CanRunAsAffectedProperty = false; // only run when this property is changed
            CanRunInCheckRules       = true;  // when true will also run in CheckRules
            CanRunOnServer           = false; // when true will also run on logical serverside (Data Access)
        }
コード例 #19
0
        /// <summary>
        /// Initializes a new instance of the <see cref="IsNew"/> class.
        /// </summary>
        /// <param name="primaryProperty">
        /// The primary property.
        /// </param>
        /// <param name="innerRule">
        /// The inner rule.
        /// </param>
        public IsNew(IPropertyInfo primaryProperty, IBusinessRule innerRule)
            : base(primaryProperty)
        {
            InputProperties = new List <IPropertyInfo> {
                primaryProperty
            };
            InnerRule = innerRule;
            RuleUri.AddQueryParameter("rule", System.Uri.EscapeUriString(InnerRule.RuleName));

            // merge InnerRule input property list into this rule's list
            if (InnerRule.InputProperties != null)
            {
                InputProperties.AddRange(InnerRule.InputProperties);
            }

            // remove any duplicates
            InputProperties = new List <IPropertyInfo>(InputProperties.Distinct());
            AffectedProperties.AddRange(innerRule.AffectedProperties);
        }
コード例 #20
0
ファイル: AsyncLookupCustomer.cs プロジェクト: mlivensp/csla
        /// <summary>
        /// Initializes a new instance of the <see cref="AsyncLookupCustomer"/> class.
        /// </summary>
        /// <param name="primaryProperty">
        /// The primary property.
        /// </param>
        /// <param name="nameProperty">
        /// The name property.
        /// </param>
        public AsyncLookupCustomer(IPropertyInfo primaryProperty, IPropertyInfo nameProperty)
            : base(primaryProperty)
        {
            NameProperty = nameProperty;

            if (InputProperties == null)
            {
                InputProperties = new List <IPropertyInfo>();
            }
            InputProperties.Add(primaryProperty);


            AffectedProperties.Add(nameProperty);

            IsAsync = true;

            // setting all to false will only allow the rule to run when the property is set - typically by the user from the UI.
            CanRunAsAffectedProperty = false;
            CanRunInCheckRules       = false;
            CanRunOnServer           = false;
        }
コード例 #21
0
ファイル: ValidationError.cs プロジェクト: nikeee/HolzShots
 public override string ToString() => $"{Message}\nAffected Properties:\n{string.Join("\n", AffectedProperties.Select(ap => " - " + ap))}";
コード例 #22
0
ファイル: LetterCount.cs プロジェクト: mlivensp/csla
 public LetterCount(Csla.Core.IPropertyInfo primaryProperty, Csla.Core.IPropertyInfo outputProperty)
     : base(primaryProperty)
 {
     AffectedProperties.Add(outputProperty);
 }
コード例 #23
0
ファイル: Root.cs プロジェクト: zuiwanting/csla
 /// <summary>
 /// Initializes a new instance of the <see cref="ValidateRoot"/> class.
 /// </summary>
 /// <param name="fields">
 /// The fields.
 /// </param>
 public ValidateRoot(IEnumerable <IPropertyInfo> fields)
 {
     AffectedProperties.AddRange(fields);
 }
コード例 #24
0
 public ReglaUsuario(Csla.Core.IPropertyInfo primaryProperty)
     : base(primaryProperty)
 {
     AffectedProperties.Add(Usuario.ApellidoMaternoProperty);
     AffectedProperties.Add(Usuario.ApellidoPaternoProperty);
 }
コード例 #25
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RaisePropertyChanged" /> class.
 /// </summary>
 /// <param name="primaryProperty">The primary property.</param>
 /// <param name="raiseChangedProperties">The raise changed properties.</param>
 public RaisePropertyChanged(IPropertyInfo primaryProperty, params IPropertyInfo[] raiseChangedProperties)
     : base(primaryProperty)
 {
     AffectedProperties.AddRange(raiseChangedProperties);
 }
コード例 #26
0
 /// <summary>
 /// Creates an instance of the rule.
 /// </summary>
 /// <param name="primaryProperty">Primary property for the rule.</param>
 /// <param name="dependencyProperty">Dependent property.</param>
 /// <remarks>
 /// When rules are run for the primary property, they will also be run for the dependent
 /// property. Add a Dependency rule to a property when changing that property should run rules
 /// on some other property, and you have no other rules that would establish this dependent
 /// or affected property relationship.
 /// </remarks>
 public Dependency(Csla.Core.IPropertyInfo primaryProperty, params Csla.Core.IPropertyInfo[] dependencyProperty)
     : base(primaryProperty)
 {
     AffectedProperties.AddRange(dependencyProperty);
 }