/// <summary>
        /// Führt eine Seminarbuchung durch bzw. aktualisiert diese
        /// </summary>
        /// <param name="seminarbuchung"></param>
        /// <returns></returns>
        public Seminarbuchung UpdateBuchung(Seminarbuchung seminarbuchung)
        {
            try
            {
                Seminarbuchung buchungUpdated;

                // Validierung des Objektes
                validateSeminarbuchung(seminarbuchung);
                buchungUpdated = SeminarData.UpdateOrInsertSeminarbuchung(Mandant, seminarbuchung);

                /// Aktualisierung erst, wenn Buchung erfolgreich committed
                SeminarData.UpdateSeminarterminTeilnehmer(Mandant, seminarbuchung.SeminarterminID);

                return(buchungUpdated);
            }
            catch (RecordUpdateException)
            {
                throw;
            }
            catch (Exception ex)
            {
                TraceLog.LogException(ex);
                throw ex;
            }
        }
        public void Test_SeminarData_CreateSeminarbuchung_Load_Delete()
        {
            var buchung = new Seminarbuchung()
            {
                Adresse = 10,
                AnsprechpartnerEmail    = "*****@*****.**",
                AnsprechpartnerNachname = "Test",
                Ansprechpartnernummer   = 1,
                AnsprechpartnerVorname  = "Vorname",
                BelID     = 0,
                BelPosID  = 0,
                BuchungID = 0,
                EmailBestaetigungGesendet = false,
                Konto           = "D100000",
                KontoMatchcode  = "Testkunde",
                Mandant         = _mandant.Id,
                SeminarterminID = "S100001",
                VorPosID        = 0
            };

            var saveBuchung = SeminarData.UpdateOrInsertSeminarbuchung(_mandant, buchung);

            Assert.IsTrue(saveBuchung.BuchungID != 0);

            var loadedBuchung = SeminarData.GetSeminarbuchung(_mandant, saveBuchung.BuchungID);

            Assert.IsTrue(saveBuchung.SeminarterminID == loadedBuchung.SeminarterminID);
            //Assert.AreEqual(loadedBuchung, saveBuchung);
            //Assert.areEquals(saveBuchung, loadedBuchung);

            SeminarData.DeleteSeminarbuchung(_mandant, saveBuchung.BuchungID);
            loadedBuchung = SeminarData.GetSeminarbuchung(_mandant, saveBuchung.BuchungID);
        }