Esempio n. 1
0
        /// <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); });
        }