/// <inheritdoc />
        public override bool TryUpdateDimensionProperties(IValueRule valueRule, Func <bool> updateCallback)
        {
            // first remove exising value rule fom the set
            this.indexedValueRuleTable.Remove(valueRule);

            try
            {
                // change dimension values
                return(updateCallback());
            }
            finally
            {
                // re-add changed value rule to the set
                this.indexedValueRuleTable.Add(valueRule);
            }
        }
 public void AddRule(IValueRule rule)
 {
     _rules.Add(rule);
 }
Beispiel #3
0
 /// <summary>
 /// Adds a rule (<see cref="IValueRule{TEntity, TProperty}"/>) to the property.
 /// </summary>
 /// <param name="rule">The <see cref="IValueRule{TEntity, TProperty}"/>.</param>
 /// <returns>The <see cref="PropertyRuleBase{TEntity, TProperty}"/>.</returns>
 public PropertyRuleBase <TEntity, TProperty> AddRule(IValueRule <TEntity, TProperty> rule)
 {
     _rules.Add(rule);
     return(this);
 }
Beispiel #4
0
 /// <summary>
 /// Adds a rule (<see cref="IValueRule{TEntity, TProperty}"/>) to the property.
 /// </summary>
 /// <param name="rule">The <see cref="IValueRule{TEntity, TProperty}"/>.</param>
 /// <returns>The <see cref="PropertyRule{TEntity, TProperty}"/>.</returns>
 public new PropertyRule <TEntity, TProperty> AddRule(IValueRule <TEntity, TProperty> rule)
 {
     base.AddRule(rule);
     return(this);
 }