protected override bool IsValid(PropertyValidatorContext context) { int cutoff = (int)context.PropertyValue; dynamic instance = context.ParentContext.InstanceToValidate; var items = instance.Items as IList <QualityProfileQualityItemResource>; QualityProfileQualityItemResource cutoffItem = items.SingleOrDefault(i => (i.Quality == null && i.Id == cutoff) || i.Quality?.Id == cutoff); if (cutoffItem == null) { return(false); } if (!cutoffItem.Allowed) { return(false); } return(true); }