Exemplo n.º 1
0
        private bool ValidateMList(IMListPrivate mlist)
        {
            bool isValid     = true;
            Type elementType = mlist.GetType().ElementType() !;

            int i = 0;

            foreach (object?element in (IEnumerable)mlist)
            {
                if (element != null && this.CurrentPath.Push(element))
                {
                    using (StateManager.Recurse(this, this.Key + "[" + (i++) + "].element", null, element, null))
                    {
                        if (element is ModifiableEntity me)
                        {
                            isValid &= ValidateModifiableEntity(me);
                        }
                        else if (element is Lite <Entity> lite)
                        {
                            isValid &= ValidateLite(lite);
                        }
                        else
                        {
                            isValid &= true;
                        }
                    }
                }
            }

            return(isValid);
        }
Exemplo n.º 2
0
        private bool ValidateMList(ValidationContext validationContext, IMListPrivate mlist)
        {
            bool          isValid         = true;
            Type          elementType     = mlist.GetType().ElementType();
            ModelMetadata elementMetadata = validationContext.MetadataProvider.GetMetadataForType(null, elementType);

            ElementScope elementScope = new ElementScope()
            {
                Index = 0
            };

            validationContext.KeyBuilders.Push(elementScope);

            PropertyScope property = new PropertyScope {
                PropertyName = "element"
            };

            validationContext.KeyBuilders.Push(property);

            foreach (object element in (IEnumerable)mlist)
            {
                elementMetadata.Model = element;
                if (!ValidateNodeAndChildren(elementMetadata, validationContext, mlist))
                {
                    isValid = false;
                }
                elementScope.Index++;
            }
            validationContext.KeyBuilders.Pop();

            validationContext.KeyBuilders.Pop();
            return(isValid);
        }
        private bool ValidateMList(ValidationContext validationContext, IMListPrivate mlist)
        {
            bool isValid = true;
            Type elementType = mlist.GetType().ElementType();
            ModelMetadata elementMetadata = validationContext.MetadataProvider.GetMetadataForType(null, elementType);

            ElementScope elementScope = new ElementScope() { Index = 0 };
            validationContext.KeyBuilders.Push(elementScope);

            PropertyScope property = new PropertyScope { PropertyName = "element" };
            validationContext.KeyBuilders.Push(property);

            foreach (object element in (IEnumerable)mlist)
            {
                elementMetadata.Model = element;
                if (!ValidateNodeAndChildren(elementMetadata, validationContext, mlist))
                {
                    isValid = false;
                }
                elementScope.Index++;
            }
            validationContext.KeyBuilders.Pop();

            validationContext.KeyBuilders.Pop();
            return isValid;
        }