protected ProductsViewModel(MainViewModel mainViewModel) { MainViewModel = mainViewModel; FromDateFilter = DateTime.Today.AddDays(-14); ThroughDateFilter = DateTime.Today.AddDays(1); CategoryFilter = mainViewModel.Context.Categories.ToList(); CategoryFilter.Insert(0, new Category { Name = "Any" }); SelectedCategoryFilter = CategoryFilter.FirstOrDefault(); SalesmanFilter = mainViewModel.Context.Salesmen.ToList(); SalesmanFilter.Insert(0, new Salesman { Contragent = new Contragent { LastName = "Any" } }); SelectedSalesmanFilter = SalesmanFilter.FirstOrDefault(); OriginFilter = new List <TranType> { TranType.Any, TranType.Bought, TranType.ToRepair, TranType.ToPawn }; SelectedOriginFilter = OriginFilter.FirstOrDefault(); Products = new ObservableCollection <ProductViewModel>(GetProducts(MainViewModel.Context)); ProductsView = CollectionViewSource.GetDefaultView(Products); ProductsView.Filter = Filter; CloseSellProductDialog = new DelegateCommand(() => SellProductDialogViewModel = null); CloseEditProductDialogCommand = new DelegateCommand(() => EditProductDialogViewModel = null); ShowAllTransactionsCommand = new DelegateCommand(ShowAllTransactions); CloseShowAllTransactionsDialogCommand = new DelegateCommand(() => ShowAllTransactionsDialogViewModel = null); FilterCommand = new DelegateCommand(ProductsView.Refresh); }