Exemplo n.º 1
0
        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);
        }