Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }