/// <summary> /// Datum zurücksetzen /// </summary> public void resetDateRange() { // Zeige standardmäßig alle Buchungen des jeweiligen Kontos vom letzten Kassenschluss bis jetzt an this.dateFrom = BookingsHelper.getDateOfLastCashClosure(); this.dateTo = BookingsHelper.makeDateGreat(DateTime.Today); this.datePickerFrom.SelectedDate = this.dateFrom; this.datePickerTo.SelectedDate = this.dateTo; }
/// <summary> /// Datum "Bis" aktualisieren /// </summary> /// <param name="dateTo">Datum "bis"</param> private void dateToProcessingFunction(DateTime dateTo) { this.dateTo = BookingsHelper.makeDateGreat(dateTo); // Filtere nach Datum List <BookingDataGridModel> bookingModels = this.bookingModelsUnchanged.Where(b => this.dateFrom < b.date && b.date < this.dateTo).ToList(); // Filtere Buchungen nach ausgewähltem Konto bookingModels = filterBookingModels(bookingModels); refreshDataGrid(bookingModels); refreshDataGrid(bookingModels.ToList()); }
/// <summary> /// Setzt in der GUI die Ausgaben dieses und des letzten Jahres. /// </summary> private void SetExpenses() { CashClosureHelper helper = new CashClosureHelper(false); int currentYear = DateTime.Now.Year; //Expenses of this year DateTime from = BookingsHelper.makeDateSmall(new DateTime(currentYear, 1, 1)); DateTime to = BookingsHelper.makeDateGreat(DateTime.Today); expensesThisYear = helper.getAllExpensesForPeriod(from, to); //Expenses of last year from = BookingsHelper.makeDateSmall(new DateTime(currentYear - 1, 1, 1)); to = BookingsHelper.makeDateGreat(new DateTime(currentYear - 1, 12, 31)); expensesLastYear = helper.getAllExpensesForPeriod(from, to); lExpensesThisYear.Content = SafeStringParser.safeParseToMoney(expensesThisYear, true); lExpensesLastYear.Content = SafeStringParser.safeParseToMoney(expensesLastYear, true); }
/// <summary> /// Methode welche für das Filtern der Ausweisinhaber verantwortlich ist. /// Diese filtert, je nach ausgewählten Attributen, die Ausweisinhaber und fügt sie dem DataGrid zu. /// </summary> private void filterPassHolder() { //Alle Ausweisinhaber holen. IEnumerable <Person> filteredPersons = Person.GetPersons(); //Nach Status filtern. switch (cbStatus.Text) { case "Aktiv": filteredPersons = filteredPersons.Where(p => p.IsActive); break; case "Inaktiv": filteredPersons = filteredPersons.Where(p => p.IsActive == false); break; case "Alle": //filteredPersons stays the same; break; } //Nach dem ausgewähltem Attribut filtern. switch (cbOther.Text) { case "Wohnort": string city = ((TextBox)wPDynamicContent[0]).Text; filteredPersons = filteredPersons.Where(p => p.City == city); break; case "Postleitzahl": // FormatException abfangen try { int zipCode = Convert.ToInt32(((TextBox)wPDynamicContent[0]).Text); filteredPersons = filteredPersons.Where(p => p.ZipCode == zipCode); } catch { MessageBox.Show("Bitte geben Sie ein korrekte Postleitzahl ein!", "Fehlerhafte Postleitzahl", MessageBoxButton.OK, MessageBoxImage.Error); return; } break; case "Staatsangehörigkeit": string nationality = ((TextBox)wPDynamicContent[0]).Text; filteredPersons = filteredPersons.Where(p => p.Nationality == nationality); break; case "Alter": string fromString = ((ComboBox)wPDynamicContent[1]).Text; string toString = ((ComboBox)wPDynamicContent[3]).Text; //Falls nichts ausgewählt wurde -> Fehler zeigen. if (fromString == "" || toString == "") { MessageBox.Show("Bitte wählen Sie ein Alter aus!", "Fehlendes Alter", MessageBoxButton.OK, MessageBoxImage.Error); return; } int from = Convert.ToInt32(fromString); int to = Convert.ToInt32(toString); filteredPersons = filteredPersons.Where(p => (p.Age >= from) && (p.Age <= to)); break; case "Ausweisgültigkeit bis max.": try { DateTime?end = ((DatePicker)wPDynamicContent[0]).SelectedDate; filteredPersons = filteredPersons.Where(p => p.ValidityEnd.CompareTo(end) <= 0); } catch { MessageBoxEnhanced.Error(IniParser.GetSetting("ERRORMSG", "common")); } break; case "Familienstand": string state = ((ComboBox)wPDynamicContent[0]).Text; filteredPersons = filteredPersons.Where(p => p.FamilyState.Name == state); break; case "Anzahl Kinder": string fromAgeString = ((ComboBox)wPDynamicContent[1]).Text; //wPDynamicContent[0] und ...[2] sind die Label "von" und "bis" string toAgeString = ((ComboBox)wPDynamicContent[3]).Text; //Falls nichts ausgewählt wurde -> Fehler zeigen. if (fromAgeString == "" || toAgeString == "") { MessageBox.Show("Bitte wählen Sie eine Anzahl aus!", "Fehlende Anzahl", MessageBoxButton.OK, MessageBoxImage.Error); return; } int fromAge = Convert.ToInt32(fromAgeString); int toAge = Convert.ToInt32(toAgeString); filteredPersons = filteredPersons.Where(p => (p.NumberOfChildren >= fromAge) && (p.NumberOfChildren <= toAge)); break; case "Letzter Einkauf": DateTime?fromDate = ((DatePicker)wPDynamicContent[1]).SelectedDate; DateTime?toDate = ((DatePicker)wPDynamicContent[3]).SelectedDate; toDate = BookingsHelper.makeDateGreat(toDate.Value); filteredPersons = filteredPersons.Where(p => (p.LastPurchase.GetValueOrDefault().CompareTo(fromDate) >= 0) && (p.LastPurchase.GetValueOrDefault().CompareTo(toDate) <= 0)); break; } //Ergebnis dem DataGrid zuführen. dGAnyStatistics.ItemsSource = filteredPersons; }