public bool checkRevenuesTab() { clearErrorMsg(); int count = 1; if (_ValidRevenues.Count > 0) { _ValidRevenues.Clear(); } // Durch die Revenues itterieren for (int rowIdx = 0; rowIdx < dtgRevenue2.Items.Count; rowIdx++) { var currentRow = dtgRevenue2.GetRow(rowIdx); if (currentRow == null) { continue; } var actualRevenue = (RevenueModel)currentRow.Item; if (actualRevenue.isAdded == false && actualRevenue.revAmount == "0") { continue; } // Revenue Typ ContentPresenter cpRevenueType = dtgRevenue2.Columns[0].GetCellContent(currentRow) as ContentPresenter; var combobox = DataGridHelper.GetVisualChild <ComboBox>(cpRevenueType); if (combobox.SelectedItem == null) { this._RevenuesIsValid = false; _RevenuesValidator.addError("Einkommen Nr. " + count, "Bitte geben Sie den Einkommenstyp von Einkommen Nr. " + count); } //StartDatum muss gesetzt sein ContentPresenter cpStartDate = dtgRevenue2.Columns[2].GetCellContent(currentRow) as ContentPresenter; var datepickerStart = DataGridHelper.GetVisualChild <DatePicker>(cpStartDate); if (datepickerStart.SelectedDate.HasValue) { actualRevenue.revStartDate = datepickerStart.SelectedDate.Value; } else { this._RevenuesIsValid = false; _RevenuesValidator.addError("Startdatum Einkunft" + count, "Bitte geben Sie das Startdatum von Einkunft " + count + " an!"); } //Enddatum muss nicht gesetzt sein, wenn aber dann nach Startdatum ContentPresenter cpEndDate = dtgRevenue2.Columns[3].GetCellContent(currentRow) as ContentPresenter; var datepickerEnd = DataGridHelper.GetVisualChild <DatePicker>(cpEndDate); if (datepickerEnd.SelectedDate.HasValue && datepickerStart.SelectedDate.HasValue) { DateTime dateEnd = datepickerEnd.SelectedDate.GetValueOrDefault(System.DateTime.Today); DateTime dateStart = datepickerStart.SelectedDate.GetValueOrDefault(System.DateTime.Today); TimeSpan ts = dateEnd.Subtract(dateStart); if (ts.TotalDays < (0)) { MessageBox.Show("Bitte geben Sie ein korrektes Enddatum an!", "Fehlerhaftes Datum", MessageBoxButton.OK, MessageBoxImage.Error); datepickerEnd.SelectedDate = System.DateTime.Now; this._RevenuesIsValid = false; } else { actualRevenue.revEndDate = datepickerEnd.SelectedDate.Value; } } else { this._RevenuesIsValid = false; _RevenuesValidator.addError("Enddatum Einkunft" + count, "Bitte geben Sie das Enddatum von Einkunft " + count + " an!"); } //Noch ein kleines Problem beim Wert überprüfen //Des mit isDouble geht noch nicht if (_RevenuesValidator.IsNullOrEmpty(actualRevenue.revAmount) == true) { if (_RevenuesValidator.IsDouble("Betrag Einkunft" + count, actualRevenue.revAmount, "Bitte geben Sie den Betrag der Einkunft " + count + " an!") == false) { this._RevenuesIsValid = false; } } //Hinzufügen zur Liste if (this._RevenuesIsValid == true) { _ValidRevenues.Add(actualRevenue); } count++; } return(this._RevenuesIsValid); }