Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 public override bool Validate(Rule rule, ValidationRule ruleProperty, TView item, RuleResults rulesResults)
 {
     rulesResults.Add(item.Validations.Validate <TView>(base.ObjectInstance));
     return(true);
 }