public Result TryResolve(IResolutionContext context, IDescribeMappableProperty destinationProperty) { var collectionContext = context.Nested(sourceProperty, destinationProperty); var src = (IList) context.GetSourcePropertyValue(sourceProperty.Name); var dest = (IList)activate.CreateCollectionInstance(destinationProperty.PropertyType, src.Count); for (int i = 0; i < src.Count; i++) { var sourceElement = sourceProperty.ElementAt(i); var elementContext = collectionContext.Nested(sourceElement, destinationProperty.ElementAt(i)); var nestedExecutor = this.executor.CreateExecutableMapping(sourceElement.PropertyType); nestedExecutor.Execute(elementContext); dest.AddElement(elementContext.Destination,i); } return new Result(true, dest); }
public Result TryResolve(IResolutionContext context, IDescribeMappableProperty destinationProperty) { var collectionContext = context.Nested(sourceProperty, destinationProperty); var src = (IList)context.GetSourcePropertyValue(sourceProperty.Name); var dest = (IList)activate.CreateCollectionInstance(destinationProperty.PropertyType, src.Count); for (int i = 0; i < src.Count; i++) { var sourceElement = sourceProperty.ElementAt(i); var elementContext = collectionContext.Nested(sourceElement, destinationProperty.ElementAt(i)); var nestedExecutor = this.executor.CreateExecutableMapping(sourceElement.PropertyType); nestedExecutor.Execute(elementContext); dest.AddElement(elementContext.Destination, i); } return(new Result(true, dest)); }