Пример #1
0
        private void ValidateRule(Rule rule, BusinessBase businessBase)
        {
            if (rule.RuleType == RuleType.Custom)
            {
                rule.Validate(businessBase);
            }

            else if (!string.IsNullOrEmpty(rule.PropertyName))
            {
                object value = Shared.FindPropertyValue(rule.PropertyName, businessBase);

                rule.Validate(value);
            }
        }
Пример #2
0
        internal List <Rule> Validate(BusinessBase businessBase, params Rule[] rules)
        {
            businessBase.Rules.ForEach(r => r.Valid = true);

            businessBase.Rules.AddRange(rules);

            foreach (var rule in businessBase.Rules)
            {
                ValidateRule(rule, businessBase);
            }


            _broken = businessBase.Rules.FindAll(r => r.Valid == false);

            return(_broken);
        }
Пример #3
0
        public void Save(BusinessBase businessBase)
        {
            businessBase.ValidateRules();

            if (businessBase.LifeCycleStatus == BusinessBaseLifeCycle.New)
            {
                Insert(businessBase);
            }

            else if (businessBase.LifeCycleStatus == BusinessBaseLifeCycle.Deleted)
            {
                Delete(businessBase);
            }

            else if (businessBase.LifeCycleStatus == BusinessBaseLifeCycle.Old)
            {
                Update(businessBase);
            }
        }