public FilterPurchasesWindow(ObservableCollection<Profile> profiles, ObservableCollection<User> users)
        {
            InitializeComponent();

            this.profiles = profiles;
            this.users = users;
            if (lastConfiguration != null)
                this.selectedUsers = lastConfiguration.Users;
            else
                this.selectedUsers = users;

            this.Filter = new PurchaseFilter();
            LoadLastConfiguration();
        }
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (txtSumMin.IsEnabled) Filter.MinAmount = Convert.ToDouble(txtSumMin.Text);
                else Filter.MinAmount = 0.0;
                if (txtSumMax.IsEnabled) Filter.MaxAmount = Convert.ToDouble(txtSumMax.Text);
                else Filter.MaxAmount = double.MaxValue;
                if (txtCountMin.IsEnabled) Filter.MinCount = Convert.ToInt32(txtCountMin.Text);
                else Filter.MinCount = 0;
                if (txtCountMax.IsEnabled) Filter.MaxCount = Convert.ToInt32(txtCountMax.Text);
                else Filter.MaxCount = int.MaxValue;
                if (dtpDateFrom.IsEnabled) Filter.MinDateTime = dtpDateFrom.SelectedDate.Value.Add(TimeSpan.ParseExact(txtTimeFrom.Text, "g", CultureInfo.CurrentCulture));
                else Filter.MinDateTime = DateTime.MinValue;
                if (dtpDateTo.IsEnabled) Filter.MaxDateTime = dtpDateTo.SelectedDate.Value.Add(TimeSpan.ParseExact(txtTimeTo.Text, "g", CultureInfo.CurrentCulture));
                else Filter.MaxDateTime = DateTime.MaxValue;
                if (chbxUser.IsChecked == true) Filter.Users = selectedUsers;
                else Filter.Users = this.users;     


                lastConfiguration = Filter;
                this.DialogResult = true;
            }
            catch (FormatException)
            {
                VisualMessageBox.Show("Die Eingabe hat das falsche Format.", "Fehler");
            }
            catch (Exception ex)
            {
                VisualMessageBox.Show(ex.Message, "Fehler");
            }
        }
Example #3
0
        public ObservableCollection<Purchase> FilterPurchases(PurchaseFilter filter)
        {
            ObservableCollection<Purchase> pur = new ObservableCollection<Purchase>();

            foreach (Purchase p in purchases)
            {
                if (filter.ArticleHitTest(p))
                    pur.Add(p);
            }

            return pur;
        }