Exemple #1
0
        /// <summary>
        ///     Retrieves  or tries to create the filter model, using as a key pair {viewKey, initializer}.
        /// </summary>
        /// <param name="viewKey">A string representing a key of the set of filters.</param>
        /// <param name="initializer">Initialiser filter that defines filter in the collection of filters.</param>
        /// <returns>FilterPresenter instance, if it is possible provide for couples viewKey and initializer. Otherwise, null.</returns>
        public Filter TryGetFilter(string viewKey, FilterInitializer initializer)
        {
            Filter filter = null;

            if (viewKey != null)
            {
                FiltersCollection filtersEntry;
                // Get registered collection by key.
                if (filters.ContainsKey(viewKey))
                {
                    filtersEntry = filters[viewKey];
                }
                else
                {
                    filtersEntry = new FiltersCollection(this);
                    filters.Add(viewKey, filtersEntry);
                }
                var filterKey = initializer.GetType();
                if (filtersEntry.ContainsKey(filterKey))
                {
                    filter = filtersEntry[filterKey];
                }
                else
                {
                    filter = initializer.NewFilter(this, viewKey);
                    if (filter != null)
                    {
                        filtersEntry[filterKey] = filter;
                    }
                }
            }
            return(filter);
        }
Exemple #2
0
        // <summary>
        // Initializes and configures the ViewModel for FilterControl.
        // </summary>
        // <param name="viewKey">A string representing the key for a set of filters.</param>
        // <param name="filterInitializers"> Filter initialisers to determine permissible set of the filters in the FilterControlVm.</param>
        // <returns>Instance of FilterControlVm that was bind to view.</returns>
        public FilterControlVm TryGetFilterControlVm(string viewKey, IEnumerable <FilterInitializer> filterInitializers)
        {
            //string viewKey = view.Key;
            FilterControlVm viewModel = null;

            if (viewKey != null)
            {
                FiltersCollection filtersEntry;
                // Get registered collection by key.
                if (filters.ContainsKey(viewKey))
                {
                    filtersEntry = filters[viewKey];
                }
                else
                {
                    filtersEntry = new FiltersCollection(this);
                    filters.Add(viewKey, filtersEntry);
                }
                filterInitializers = filterInitializers ?? FilterInitializersManager.Default;

                foreach (var initializer in filterInitializers)
                {
                    var    filterKey = initializer.GetType();
                    Filter filter;
                    if (filtersEntry.ContainsKey(filterKey))
                    {
                        filter = filtersEntry[filterKey];
                    }
                    else
                    {
                        filter = initializer.NewFilter(this, viewKey);
                        if (filter != null)
                        {
                            filtersEntry[filterKey] = filter;
                        }
                    }
                    if (filter != null)
                    {
                        viewModel = viewModel ?? new FilterControlVm();
                        viewModel.Add(filter);
                    }
                }
                //view.ItemsSource = viewModel;
            }
            return(viewModel);
        }
        private Mock <IUmbracoXmlSitemapSection> CreateMock(string engineType, string cacheType,
                                                            string generatorType, string initializerType)
        {
            var mock = new Mock <IUmbracoXmlSitemapSection>();

            var filtesrCollection = new FiltersCollection();

            filtesrCollection.Add(new FilterElement {
                Type = typeof(FakeFilter)
            });

            mock.Setup(m => m.Engine).Returns(Type.GetType(engineType));
            mock.Setup(m => m.Cache).Returns(Type.GetType(cacheType));
            mock.Setup(m => m.Generator).Returns(Type.GetType(generatorType));
            mock.Setup(m => m.Initializer).Returns(Type.GetType(initializerType));
            mock.Setup(m => m.Filters).Returns(filtesrCollection);

            return(mock);
        }