예제 #1
0
        private void ToOrderBills()
        {
            try
            {
                IOrderedEnumerable <Bill> bills = null;

                switch (SelectedOrder)
                {
                case "Descrição - Crescente":
                    bills = Bills.OrderBy(o => o.Description);
                    break;

                case "Descrição - Decrescente":
                    bills = Bills.OrderByDescending(o => o.Description);
                    break;

                default:
                    return;
                }

                Bills = new ObservableRangeCollection <Bill>(bills);
                OnPropertyChanged("Bills");
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void RefreshBillListItems()
        {
            switch (_SortOptions.GetLastOption())
            {
            case "Id":
                if (_SortOptions.GetDescending())
                {
                    _DBConnection.Bills = Bills.OrderByDescending(x => x.Id).ToList <DBConnection.Bill>();
                }
                else
                {
                    _DBConnection.Bills = Bills.OrderBy(x => x.Id).ToList <DBConnection.Bill>();
                }
                break;

            case "Category":
                if (_SortOptions.GetDescending())
                {
                    _DBConnection.Bills = Bills.OrderByDescending(x => x.Category).ToList <DBConnection.Bill>();
                }
                else
                {
                    _DBConnection.Bills = Bills.OrderBy(x => x.Category).ToList <DBConnection.Bill>();
                }
                break;

            case "DueDate":
                if (_SortOptions.GetDescending())
                {
                    _DBConnection.Bills = Bills.OrderByDescending(x => x.DueDate).ToList <DBConnection.Bill>();
                }
                else
                {
                    _DBConnection.Bills = Bills.OrderBy(x => x.DueDate).ToList <DBConnection.Bill>();
                }
                break;

            case "ForMonth":
                if (_SortOptions.GetDescending())
                {
                    _DBConnection.Bills = Bills.OrderByDescending(x => x.ForMonth).ToList <DBConnection.Bill>();
                }
                else
                {
                    _DBConnection.Bills = Bills.OrderBy(x => x.ForMonth).ToList <DBConnection.Bill>();
                }
                break;

            case "Amount":
                if (_SortOptions.GetDescending())
                {
                    _DBConnection.Bills = Bills.OrderByDescending(x => x.Amount).ToList <DBConnection.Bill>();
                }
                else
                {
                    _DBConnection.Bills = Bills.OrderBy(x => x.Amount).ToList <DBConnection.Bill>();
                }
                break;

            case "Paid":
                if (_SortOptions.GetDescending())
                {
                    _DBConnection.Bills = Bills.OrderByDescending(x => x.Paid).ToList <DBConnection.Bill>();
                }
                else
                {
                    _DBConnection.Bills = Bills.OrderBy(x => x.Paid).ToList <DBConnection.Bill>();
                }
                break;
            }

            _DBConnection.ReOrderMonthBills();

            Bills.Clear();
            MonthBills.Clear();

            foreach (DBConnection.Bill bill in _DBConnection.Bills)
            {
                Bills.Add(bill);
            }

            foreach (DBConnection.Bill bill in _DBConnection.MonthBills)
            {
                MonthBills.Add(bill);
            }
        }