/// <summary> /// /// </summary> /// <param name="window"></param> public SalesItemViewModel(Window window) { SOURCE = new ObservableCollection <ItemSales>(SqlServerCompactService.GetItemSales(DateTime.Now, 0)); TotalCount = SOURCE.Count.ToString(); TotalProfit = SOURCE.Sum(s => s.SoldPirce - (s.SalesCount * s.StockPrice)).ToString(); ItemSalesColletion = new ObservableCollection <ItemSales>(SOURCE.Skip(PageIndex * PAGESIZE).Take(PAGESIZE)); CloseCommand = new DelegateCommand(() => { window.Close(); }); AnalyseCommand = new DelegateCommand <string>(s => { ItemSalesColletion.Clear(); int t = 0; switch (s) { case "0": t = 0; break; case "1": t = 1; break; case "2": t = 2; break; } SOURCE = new ObservableCollection <ItemSales>(SqlServerCompactService.GetItemSales(SelectedDate, t)); TotalCount = SOURCE.Count.ToString(); TotalProfit = SOURCE.Sum(k => k.SoldPirce - (k.SalesCount * k.StockPrice)).ToString(); ItemSalesColletion = new ObservableCollection <ItemSales>(SOURCE.Skip(PageIndex * PAGESIZE).Take(PAGESIZE)); }); PreviousCommand = new DelegateCommand(() => { PageIndex--; ItemSalesColletion = new ObservableCollection <ItemSales>(SOURCE.Skip(PageIndex * PAGESIZE).Take(PAGESIZE)); }, () => { return(PageIndex > 0 ? true : false); }); NextCommand = new DelegateCommand(() => { PageIndex++; ItemSalesColletion = new ObservableCollection <ItemSales>(SOURCE.Skip(PageIndex * PAGESIZE).Take(PAGESIZE)); }, () => { return((PageIndex + 1) * PAGESIZE < SOURCE.Count() ? true : false); }); }