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