示例#1
0
 public ConfiguredTransform(ModelDataPath path, IMappingTransform transform, IEnumerable <ITransformArgument> arguments, IMappingVariableExpander expander, IServiceLocator services, Func <ModelData, bool> condition = null)
 {
     _path      = path;
     _transform = transform;
     _arguments = arguments;
     _expander  = expander;
     _services  = services;
     _condition = condition;
 }
        public void Visit(BeginTransform instruction)
        {
            var name = instruction.Name.Resolve(_services).ToString();

            if (!_registry.HasPolicy(name))
            {
                throw new ModelMapException("Invalid transform: \"{0}\"".ToFormat(instruction.Name));
            }

            _transform = (IMappingTransform)FastYetSimpleTypeActivator.CreateInstance(_registry.FindPolicy(name));
        }
示例#3
0
        public void Visit(BeginCancellationPolicy instruction)
        {
            executeInstruction(() =>
            {
                var name = instruction.Name.Resolve(_services).ToString();
                if (!_registry.HasPolicy(name))
                {
                    throw new ModelMapException("Could not find cancellation policy: \"{0}\"".ToFormat(name));
                }

                var type = _registry.FindPolicy(name);
                if (!type.CanBeCastTo <CancellationPolicy>())
                {
                    throw new ModelMapException("\"{0}\" does not inherit from CancellationPolicy".ToFormat(name));
                }

                _transform = (IMappingTransform)FastYetSimpleTypeActivator.CreateInstance(_registry.FindPolicy(name));
            });
        }
 public ConfiguredCancellationPolicy(int actCode, ModelDataPath path, IMappingTransform transform, IEnumerable <ITransformArgument> arguments, IMappingVariableExpander expander, IServiceLocator services)
     : base(path, transform, arguments, expander, services)
 {
     _actCode = actCode;
 }
示例#5
0
 /// <inheritdoc/>
 public override MappingCollection <IDualMapper> AddTransform(IMappingTransform transform)
 {
     _parameters.AddTransform(transform);
     _tables.AddTransform(transform);
     return(this);
 }