internal void Reload(BuchungVm aBuchungVm)
        {
            if (aBuchungVm.Id < 0)
            {
                return;
            }

            // Reload from Database
            var lRow = mDb.Buchung.GetSingleRow(aBuchungVm.Id, false);

            aBuchungVm.Row = lRow;
        }
Пример #2
0
        private void EditAndSave(BuchungVm aBuchungVm, string aDialogTitle)
        {
            var lDlg = new EditBuchungDialog()
            {
                Owner     = Window.GetWindow(this),
                Title     = aDialogTitle,
                BuchungVm = aBuchungVm
            };

            var lResult = lDlg.ShowDialog();

            if (!lResult.HasValue || !lResult.Value)
            {
                aBuchungVm.ReloadFromDb();
                return;
            }

            aBuchungVm.Save();
            this.mDtgBuchungen.SelectedItem = aBuchungVm;
        }
        internal void SaveBuchung(BuchungVm aBuchungVm)
        {
            if (!aBuchungVm.Validate().IsValid)
            {
                throw new DataException("Es sind noch Validierungsfehler auf dem BuchungVm vorhanden!");
            }

            if (aBuchungVm.Row.Status == DtoStatus.Created)
            {
                // To create
                var lId = mDb.Buchung.InsertRow(aBuchungVm.Row);

                // Reload from Database
                var lRow = mDb.Buchung.GetSingleRow(lId, false);

                aBuchungVm.Row = lRow;
            }
            else if (aBuchungVm.Row.Status == DtoStatus.Updated)
            {
                // To update
                mDb.Buchung.UpdateSingleRow(aBuchungVm.Row);

                // Reload from Database
                aBuchungVm.Row = mDb.Buchung.GetSingleRow(aBuchungVm.Row.ID, false);
            }
            else if (aBuchungVm.Row.Status == DtoStatus.Deleted)
            {
                if (aBuchungVm.Id >= 0)
                {
                    // Buchung löschen
                    this.mDb.Buchung.DeleteSingleRow(aBuchungVm.Row);

                    return;
                }
            }
        }