Ejemplo n.º 1
0
        /// <inheritdoc/>
        public IConvertRegistration <TSource, TTarget> RegisterCreateToOneHistWithCondition <TSourceValue, TTargetValue, TReverseRelation, TTemporalData, TConvertIntention>(
            Func <TSource, TTarget, IEnumerable <TSourceValue> > sourceFunc,
            Expression <Func <TTarget, ICollection <TTargetValue> > > targetExpression,
            Func <TSource, TTarget, bool> toOneHistCriteria,
            Func <TSource, TTarget, DateTime> toOneReferenceDate,
            ICreateConvertHelper <TSourceValue, TTargetValue, TReverseRelation, TConvertIntention> createConvertHelper)
            where TSourceValue : class, TTemporalData
            where TTargetValue : class, TTemporalData
            where TReverseRelation : class
            where TTemporalData : class
            where TConvertIntention : IBaseConvertIntention
        {
            sourceFunc.NotNull(nameof(sourceFunc));
            targetExpression.NotNull(nameof(targetExpression));
            toOneHistCriteria.NotNull(nameof(toOneHistCriteria));
            toOneReferenceDate.NotNull(nameof(toOneReferenceDate));

            var operation = this.serviceLocator
                            .GetInstance <IOperationCreateToOneHistWithCondition <TSource, TTarget, TSourceValue, TTargetValue, TReverseRelation, TTemporalData, TConvertIntention> >();

            operation.Initialize(
                sourceFunc,
                targetExpression,
                toOneHistCriteria,
                toOneReferenceDate,
                createConvertHelper);
            this.convertHelperOperationWorkUnits.Add(operation);
            return(this);
        }
Ejemplo n.º 2
0
        /// <inheritdoc/>
        public IConvertRegistration <TSource, TTarget> RegisterCreateToOneWithRelation <TSourceValue, TTargetValue, TRelation, TConvertIntention>(
            Func <TSource, TTarget, TSourceValue> sourceFunc,
            Expression <Func <TTarget, TTargetValue> > targetExpression,
            Func <TSource, TTarget, TRelation> relationFunc,
            ICreateConvertHelper <TSourceValue, TTargetValue, TRelation, TConvertIntention> createConvertHelper)
            where TSourceValue : class
            where TTargetValue : class
            where TRelation : class
            where TConvertIntention : IBaseConvertIntention
        {
            sourceFunc.NotNull(nameof(sourceFunc));
            targetExpression.NotNull(nameof(targetExpression));
            relationFunc.NotNull(nameof(relationFunc));

            var operation = this.serviceLocator
                            .GetInstance <IOperationCreateToOneWithRelationInclTargetArg <TSource, TTarget, TSourceValue, TTargetValue, TRelation, TConvertIntention> >();

            operation.Initialize(
                sourceFunc,
                targetExpression,
                relationFunc,
                createConvertHelper);
            this.convertHelperOperationWorkUnits.Add(operation);
            return(this);
        }
Ejemplo n.º 3
0
        /// <inheritdoc/>
        public IConvertRegistration <TSource, TTarget> RegisterMergeLevel <TSourceValue, TTargetValue, TMergeValue, TConvertIntention>(
            Func <TSource, IEnumerable <TMergeValue> > mergeFunc,
            Func <TMergeValue, IEnumerable <TSourceValue> > sourceFunc,
            Expression <Func <TTarget, ICollection <TTargetValue> > > targetExpression,
            ICreateConvertHelper <TSourceValue, TTargetValue, TTarget, TConvertIntention> createConvertHelper)
            where TSourceValue : class
            where TTargetValue : class
            where TMergeValue : class
            where TConvertIntention : IBaseConvertIntention
        {
            mergeFunc.NotNull(nameof(mergeFunc));
            sourceFunc.NotNull(nameof(sourceFunc));
            targetExpression.NotNull(nameof(targetExpression));
            createConvertHelper.NotNull(nameof(createConvertHelper));

            var operation =
                this.serviceLocator
                .GetInstance <IOperationMergeLevel <TSource, TTarget, TSourceValue, TTargetValue, TMergeValue, TConvertIntention> >();

            operation.Initialize(
                mergeFunc,
                sourceFunc,
                targetExpression,
                createConvertHelper);
            this.convertHelperOperationWorkUnits.Add(operation);
            return(this);
        }
Ejemplo n.º 4
0
        /// <inheritdoc/>
        public void Initialize(
            Expression <Func <TTarget, TTargetValue> > targetExpression,
            ICreateConvertHelper <TSource, TTargetValue, TTarget, TConvertIntention> createConvertHelper)
        {
            targetExpression.NotNull(nameof(targetExpression));
            createConvertHelper.NotNull(nameof(createConvertHelper));

            this.targetExpression    = targetExpression;
            this.createConvertHelper = createConvertHelper;
        }
Ejemplo n.º 5
0
        /// <inheritdoc/>
        public void Initialize(
            Func <TSource, TSourceValue> sourceFunc,
            Expression <Func <TTarget, TTargetValue> > targetExpression,
            ICreateConvertHelper <TSourceValue, TTargetValue, TConcreteTargetValue, TTarget, TConvertIntention> createConvertHelper)
        {
            sourceFunc.NotNull(nameof(sourceFunc));
            targetExpression.NotNull(nameof(targetExpression));
            createConvertHelper.NotNull(nameof(createConvertHelper));

            this.sourceFunc          = sourceFunc;
            this.targetExpression    = targetExpression;
            this.createConvertHelper = createConvertHelper;
        }
        /// <inheritdoc/>
        public void Initialize(
            Func <TSource, IEnumerable <TSourceValue> > sourceFunc,
            Expression <Func <TTarget, ICollection <TTargetValue> > > targetExpression,
            ICreateConvertHelper <TSourceValue, TTargetValue, TReverseRelation, TConvertIntention> createConvertHelper)
        {
            sourceFunc.NotNull(nameof(sourceFunc));
            targetExpression.NotNull(nameof(targetExpression));
            createConvertHelper.NotNull(nameof(createConvertHelper));

            this.sourceFunc          = sourceFunc;
            this.targetExpression    = targetExpression;
            this.createConvertHelper = createConvertHelper;
        }
Ejemplo n.º 7
0
        /// <inheritdoc/>
        public IConvertRegistration <TSource, TTarget> RegisterCreateFromSourceWithReverseRelation <TTargetValue, TConvertIntention>(
            Expression <Func <TTarget, TTargetValue> > targetExpression,
            ICreateConvertHelper <TSource, TTargetValue, TTarget, TConvertIntention> createConvertHelper)
            where TTargetValue : class
            where TConvertIntention : IBaseConvertIntention
        {
            targetExpression.NotNull(nameof(targetExpression));

            var operation = this.serviceLocator
                            .GetInstance <IOperationCreateFromSourceWithReverseRelation <TSource, TTarget, TTargetValue, TConvertIntention> >();

            operation.Initialize(targetExpression, createConvertHelper);
            this.convertHelperOperationWorkUnits.Add(operation);
            return(this);
        }
Ejemplo n.º 8
0
        /// <inheritdoc/>
        public void Initialize(
            Func <TSource, TTarget, IEnumerable <TSourceValue> > sourceFunc,
            Expression <Func <TTarget, ICollection <TTargetValue> > > targetExpression,
            Func <TSource, TTarget, bool> toOneHistCriteria,
            Func <TSource, TTarget, DateTime> toOneReferenceDate,
            ICreateConvertHelper <TSourceValue, TTargetValue, TReverseRelation, TConvertIntention> createConvertHelper)
        {
            sourceFunc.NotNull(nameof(sourceFunc));
            targetExpression.NotNull(nameof(targetExpression));
            toOneHistCriteria.NotNull(nameof(toOneHistCriteria));
            toOneReferenceDate.NotNull(nameof(toOneReferenceDate));
            createConvertHelper.NotNull(nameof(createConvertHelper));

            this.sourceFunc          = sourceFunc;
            this.targetExpression    = targetExpression;
            this.toOneHistCriteria   = toOneHistCriteria;
            this.toOneReferenceDate  = toOneReferenceDate;
            this.createConvertHelper = createConvertHelper;
        }
Ejemplo n.º 9
0
        /// <inheritdoc/>
        public IConvertRegistration <TSource, TTarget> RegisterCreateToManyWithReverseRelation <TSourceValue, TTargetValue, TConcreteTargetValue, TReverseRelation, TConvertIntention>(
            Func <TSource, IEnumerable <TSourceValue> > sourceFunc,
            Expression <Func <TTarget, ICollection <TTargetValue> > > targetExpression,
            ICreateConvertHelper <TSourceValue, TTargetValue, TConcreteTargetValue, TReverseRelation, TConvertIntention> createConvertHelper)
            where TSourceValue : class
            where TTargetValue : class
            where TConcreteTargetValue : TTargetValue, new()
            where TReverseRelation : class
            where TConvertIntention : IBaseConvertIntention
        {
            sourceFunc.NotNull(nameof(sourceFunc));
            targetExpression.NotNull(nameof(targetExpression));

            var operation = this.serviceLocator
                            .GetInstance <IOperationCreateToManyWithReverseRelation <TSource, TTarget, TSourceValue, TTargetValue, TConcreteTargetValue, TReverseRelation, TConvertIntention> >();

            operation.Initialize(
                sourceFunc,
                targetExpression,
                createConvertHelper);
            this.convertHelperOperationWorkUnits.Add(operation);
            return(this);
        }
Ejemplo n.º 10
0
 public CreateToManyFromStrategyHelperWithReverseRelationRegistrations(
     ICreateConvertFromStrategyHelperFactory <SourceBaseLeaf, TargetBaseLeaf, IForTest> createConvertHelperFactory)
 {
     createConvertHelperFactory.NotNull(nameof(createConvertHelperFactory));
     this.createConvertHelper = createConvertHelperFactory.GetConvertHelper(x => x.TargetRoot);
 }