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); } }
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); }
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); } }