Exemplo n.º 1
0
        protected FilterTreeViewModel(IFilterTreeModelPageSpecificSettings settings, IQueryable <TEntity> entities, Action <object, Action> registerEntityChangedMessageHandler)
        {
            this.settings           = settings;
            this.entities           = entities;
            StaticFilters           = CreateFilterItems(settings.StaticFilters);
            CustomFilters           = CreateFilterItems(settings.CustomFilters);
            SelectedItem            = StaticFilters.FirstOrDefault();
            AllowFiltersContextMenu = true;
            WarningParameterName    = "Overdue Tasks";
            ShowFilterGroup         = true;
            Messenger.Default.Register <EntityMessage <TEntity, TPrimaryKey> >(this, message => UpdateFilters()); // temporary fix

            Messenger.Default.Register <CreateCustomFilterMessage <TEntity> >(this, message =>
            {
                CreateCustomFilter((message as CreateCustomFilterMessage <TEntity>).Module);
            });
            UpdateFilters();
            StaticCategoryName = settings.StaticFiltersTitle;
            CustomCategoryName = settings.CustomFiltersTitle;

            Categories = new ObservableCollection <FilterCategory>()
            {
                new FilterCategory(StaticCategoryName, this, StaticFilters),
                new FilterCategory(CustomCategoryName, this, CustomFilters, isCustom: true)
            };
        }
Exemplo n.º 2
0
 protected FilterTreeViewModel(IFilterTreeModelPageSpecificSettings settings, IQueryable <TEntity> entities, Action <object, Action> registerEntityChangedMessageHandler)
 {
     this.settings = settings;
     this.entities = entities;
     StaticFilters = CreateFilterItems(settings.StaticFilters);
     CustomFilters = CreateFilterItems(settings.CustomFilters);
     SelectedItem  = StaticFilters.FirstOrDefault();
     registerEntityChangedMessageHandler(this, () => UpdateFilters());
     Messenger.Default.Register <CreateCustomFilterMessage <TEntity> >(this, message => CreateCustomFilter());
     UpdateFilters();
     StaticCategoryName = settings.StaticFiltersTitle;
 }
Exemplo n.º 3
0
        public FilterTreeViewModel(
            CollectionViewModel <TEntity, TPrimaryKey, TUnitOfWork> collectionViewModel,
            IFilterTreeModelPageSpecificSettings settings) :
            base(settings)
        {
            SetViewModel(collectionViewModel);
            ViewModelHelper.EnsureViewModel(this, collectionViewModel);
            Init();
            ISupportCustomFilters scf = collectionViewModel as ISupportCustomFilters;

            if (scf != null)
            {
                scf.CustomFiltersReset += scf_CustomFiltersReset;
            }
        }
 protected FilterTreeViewModel(IFilterTreeModelPageSpecificSettings <TFilterEntity> settings, IQueryable <TEntity> entities, Action <object, Action> registerEntityChangedMessageHandler, bool createContextFilter = false)
 {
     this.settings = settings;
     this.entities = entities;
     StaticFilters = CreateFilterItems(settings.StaticFilters, false);
     CustomFilters = CreateFilterItems(settings.CustomFilters, true);
     if (createContextFilter)
     {
         ContextFilters = CreateContextFilterItems();
     }
     SelectedItem = StaticFilters.FirstOrDefault();
     if (SelectedItem != null)
     {
         SelectedItem.IsSelected = true;
     }
     registerEntityChangedMessageHandler(this, () => UpdateFilters());
     Messenger.Default.Register <CreateCustomFilterMessage <TEntity> >(this, message => CreateCustomFilter());
     UpdateFilters();
     StaticCategoryName  = settings.StaticFiltersTitle;
     ContextCategoryName = typeof(TFilterEntity).Name;
     CustomCategoryName  = "CUSTOM FILTERS"; //Instead of putting it in xaml, use binding to ensure that code behind indeed exists to show anything in view
 }
 public static FilterTreeViewModel <TEntity, TPrimaryKey> Create(IFilterTreeModelPageSpecificSettings settings, IQueryable <TEntity> entities, Action <object, Action> registerEntityChangedMessageHandler)
 {
     return(ViewModelSource.Create(() => new FilterTreeViewModel <TEntity, TPrimaryKey>(settings, entities, registerEntityChangedMessageHandler)));
 }
 public FilterTreeViewModelBase(IFilterTreeModelPageSpecificSettings settings)
 {
     this.settings = settings;
 }