IList <ValidatedValue> GetValidatedValues(ValidatedValueBasis basis) { if (!(basis.ManifestValue is ManifestCollectionItem)) { var value = valueFromBasisFactory.GetValidatedValue(basis); if (!(basis.Parent is null)) { basis.Parent.ChildValues.Add(value); } return(new[] { value }); } var values = enumerableProvider .GetEnumerableItems(basis.GetActualValue(), basis.ManifestValue.ValidatedType) .Select((x, idx) => new ValidatedValueBasis(basis.ManifestValue, new SuccessfulGetValueToBeValidatedResponse(x), basis.Parent, idx)) .Select(valueFromBasisFactory.GetValidatedValue) .ToList(); if (!(basis.Parent is null)) { basis.Parent.CollectionItems = values; } return(values); }
static object GetIdentity(ValidatedValueBasis basis) { var actualValue = basis.GetActualValue(); if (actualValue is null) { return(null); } return(basis.ManifestValue.IdentityAccessor is null ? null : basis.ManifestValue.IdentityAccessor(actualValue)); }