public void TestBucheKursFuerEinenKundenSuccess() { kursServices.CreateKurs(k1, r1.ID, t1.ID); kursServices.BucheKurs(ku1.Kundennummer, k1); Assert.IsTrue(k1.Teilnehmer.Contains(ku1)); Assert.IsTrue(k1.HatFreiePlaetze(2)); ps.Delete(k1); }
public void TestBucheKursFuerEinenKundenKursVoll() { kursServices.CreateKurs(k2, r1.ID, t1.ID); kursServices.BucheKurs(ku1.Kundennummer, k2); try { kursServices.BucheKurs(ku2.Kundennummer, k2); Assert.Fail("Kurs sollte hier voll sein"); } catch (KursUeberfuelltException e) { Assert.IsFalse(k2.HatFreiePlaetze()); } finally { ps.Delete(k2); } }
public void BucheKurs(int idKunde, Kurs kurs) { ts.ExecuteInTransaction(() => { if (kurs.HatFreiePlaetze()) { kurs.Teilnehmer.Add(kundenServices.FindKundeById(idKunde)); kursRepo.Save(kurs); } else { throw new KursUeberfuelltException("Kurs ist bereits ausgebucht"); } }); }
public void BucheKurs(List <int> idKunden, Kurs kurs) { ts.ExecuteInTransaction(() => { if (kurs.HatFreiePlaetze(idKunden.Count)) { IList <Kunde> kunden = kundenServices.GetKundenByIds(idKunden); kunden.ForEach(kunde => kurs.Teilnehmer.Add(kunde)); kursRepo.Save(kurs); } else { throw new KursUeberfuelltException("Kurs ist bereits ausgebucht"); } }); }
public void BucheKundenAufAnderenKursUm(int idKunde, Kurs kursVon, Kurs kursNach) { ts.ExecuteInTransaction(() => { if (kursNach.HatFreiePlaetze()) { Kunde k = kundenServices.FindKundeById(idKunde); kursVon.Teilnehmer.Remove(k); kursNach.Teilnehmer.Add(k); kursRepo.Save(kursVon); kursRepo.Save(kursNach); } else { throw new KursUeberfuelltException("Zielkurs ist bereits ausgebucht"); } }); }