예제 #1
0
 /// <summary>
 /// New View Model Builder
 /// </summary>
 /// <param name="keyProvider">A View Model Key provider</param>
 public ViewModelFactory(IViewModelKeyProvider keyProvider, IViewModelResolver resolver)
 {
     if (keyProvider == null)
     {
         throw new ArgumentNullException("keyProvider");
     }
     if (resolver == null)
     {
         throw new ArgumentNullException("resolver");
     }
     this.keyProvider = keyProvider;
     this.resolver    = resolver;
 }
예제 #2
0
        /// <summary>
        /// New View Model Builder
        /// </summary>
        /// <param name="keyProvider">A View Model Key provider</param>
        public ViewModelFactory(IViewModelKeyProvider keyProvider,
                                IViewModelResolver resolver,
                                ILinkResolver linkResolver,
                                IRichTextResolver richTextResolver,
                                IContextResolver contextResolver,
                                IDD4TConfiguration configuration,
                                ILogger logger
                                )
        {
            if (keyProvider == null)
            {
                throw new ArgumentNullException("keyProvider");
            }
            if (resolver == null)
            {
                throw new ArgumentNullException("resolver");
            }
            if (linkResolver == null)
            {
                throw new ArgumentNullException("linkResolver");
            }
            if (richTextResolver == null)
            {
                throw new ArgumentNullException("richTextResolver");
            }
            if (contextResolver == null)
            {
                throw new ArgumentNullException("contextResolver");
            }
            if (configuration == null)
            {
                throw new ArgumentNullException("DD4Tconfiguration");
            }
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            this._keyProvider       = keyProvider;
            this._resolver          = resolver;
            this._linkResolver      = linkResolver;
            this._richtTextResolver = richTextResolver;
            this._contextResolver   = contextResolver;
            this._configuration     = configuration;
            this._logger            = logger;

            // Trying to find the entry assembly to load view models from.
            // For web applications, a special trick is needed to do this (see below).
            Assembly entryAssembly = GetWebEntryAssembly();

            if (entryAssembly == null)
            {
                entryAssembly = Assembly.GetEntryAssembly();
            }
            if (entryAssembly != null)
            {
                LoadViewModels(new List <Assembly> {
                    entryAssembly
                });
            }
        }
예제 #3
0
 public bool IsMatch(IViewModelData data, IViewModelKeyProvider provider)
 {
     var key = provider.GetViewModelKey(data);
     return IsMatch(data, key);
 }