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);
            }
        }
Beispiel #3
0
 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");
         }
     });
 }
Beispiel #4
0
 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");
         }
     });
 }
Beispiel #5
0
 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");
         }
     });
 }