public RuleResults Validate(string successMessage, params object[] objectInstance) { var result = new RuleResults(); foreach (var itemObject in objectInstance) { var method = _view.Validations.GetType().GetMethod("Validate"); var genericMethod = method.MakeGenericMethod(itemObject.GetType()); var parameters = new[] { itemObject }; var r = (RuleResults)genericMethod.Invoke(_view.ViewLogics.Validations, parameters); result.Add(r); } if (!string.IsNullOrEmpty(successMessage)) { if (result.Count == 0) { _view.ShowMessage(PresenterResources.VALIDATION_SUCCESS, successMessage, Severity.Success); } else { var sb = new StringBuilder(); foreach (var item in result) { sb.Append(item.RuleInformation.Description); } _view.ShowContextValidation(PresenterResources.ERR_VALIDATION, sb.ToString(), Utilities.ConvertRuleResultsToReturnMessageList(result)); } } return(result); }
/// <summary> /// Permet de valider les objet /// </summary> /// <typeparam name="TObject"></typeparam> /// <param name="instance"></param> /// <returns></returns> public RuleResults Validate <TObject>(TObject instance) { var rls = new RuleResults(); foreach (var item in UI) { var rl = new RuleResults(); var val = item as UIValidation <TObject>; if (val != null) { rl = val.Validate(instance); } if (rl != null) { rls.Add(rl); } } return(rls); }
public RuleResults ExecuteBusinessRules <T>(T objectToValidate) { var results = new RuleResults { IsSuccessful = true }; if (_container.IsRegistered <IRule <T> >()) { dynamic applicableRules = _container.Resolve <IEnumerable <IRule <T> > >(); foreach (var rule in applicableRules) { results.Add(rule.GetType().GetMethod("Validate", new[] { objectToValidate.GetType() }).Invoke(rule, new[] { objectToValidate })); } results.IsSuccessful = results.Count(p => p.ErrorLevel == RuleMessageType.Error) == 0; } return(results); }
public RuleResults Validate(TObject objectInstance) { //TObject obj = Activator.CreateInstance<TObject>(); //Extraire la valeur de la view par invocation et l'assiner a obj. var val = Validations as IValidationExtend <TObject>; var rs = new RuleResults(); var r = ValidationCore.DoValidation(objectInstance, Validations); foreach (var item in r) { if (ObjectPropertyName == item.Property) { //indique le lien avec la vue en erreur item.BindObjectName = ViewName; item.BindPropertytName = ObjectPropertyName; rs.Add(item); } } return(rs); }
public override bool Validate(Rule rule, ValidationRule ruleProperty, TView item, RuleResults rulesResults) { rulesResults.Add(item.Validations.Validate <TView>(base.ObjectInstance)); return(true); }