コード例 #1
0
        public BindingContext(IRequestData requestData, IServiceLocator locator, IBindingLogger logger)
        {
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            _requestData = requestData;
            _locator     = locator;
            _logger      = logger;
            _resolver    = new Lazy <IObjectResolver>(() =>
            {
                if (_locator == null)
                {
                    return(ObjectResolver.Basic());
                }

                return(_locator.GetInstance <IObjectResolver>());
            });

            _values = new Lazy <IContextValues>(() =>
            {
                var converter = _locator == null ? new ObjectConverter() : _locator.GetInstance <IObjectConverter>();
                return(new ContextValues(converter, _namingStrategies, _requestData, _logger));
            });
        }
コード例 #2
0
 public ObjectResolver(IServiceLocator services, BindingRegistry binders, IBindingLogger logger)
 {
     _services       = services;
     _binders        = binders;
     _logger         = logger;
     _propertySetter = binders.PropertySetter;
 }
コード例 #3
0
 public ContextValues(IObjectConverter converter, List <Func <string, string> > namingStrategies, IRequestData rawData, IBindingLogger logger)
 {
     _converter        = converter;
     _namingStrategies = namingStrategies;
     _rawData          = rawData;
     _logger           = logger;
 }
コード例 #4
0
        public BindingContext(IRequestData requestData, IServiceLocator locator, IBindingLogger logger)
        {
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            _requestData = requestData;
            _locator     = locator;
            _logger      = logger;

            _request = new Lazy <ISmartRequest>(() => new SmartRequest(_requestData, _locator.GetInstance <IObjectConverter>()));
        }
コード例 #5
0
        public void Setup()
        {
            var services = new InMemoryServiceLocator();
            var resolver = new ObjectResolver(services, new BindingRegistry(), new NulloBindingLogger());

            _request = new InMemoryRequestData();
            _logger  = MockRepository.GenerateMock <IBindingLogger>();
            _context = new BindingContext(_request, services, _logger);

            services.Add <IObjectResolver>(resolver);
            _request[ReflectionHelper.GetAccessor <ComplexClass>(x => x.Nested.Foo).Name] = "Bar";
            _fooProperty = ReflectionHelper.GetProperty <ComplexClass>(x => x.Nested.Foo);
            setup();
        }
コード例 #6
0
 public ObjectResolver(IServiceLocator services, IModelBinderCache binders, IBindingLogger logger)
 {
     _services = services;
     _binders  = binders;
     _logger   = logger;
 }
コード例 #7
0
 private InMemoryBindingContext(InMemoryRequestData data, StubServiceLocator services, IBindingLogger logger)
     : base(data, services, logger)
 {
     _services = services;
     _data     = data;
 }
コード例 #8
0
 private BindingContext(IRequestData requestData, IServiceLocator locator, IBindingLogger logger, IList <ConvertProblem> problems)
     : this(requestData, locator, logger)
 {
     _problems = problems;
 }
コード例 #9
0
 public ObjectResolver(IServiceLocator services, IModelBinderCache binders, IBindingLogger logger)
 {
     _services = services;
     _binders = binders;
     _logger = logger;
 }