コード例 #1
0
        public void AnmalTillKurs(Kurstillfalle kurstillfalle)
        {
            var overlappandeKurser = Kursanmalan.Where(anmaldKurs => anmaldKurs.TillfalletPagarUnder(kurstillfalle.KursPeriod)).ToList();

            if (overlappandeKurser.Any())
            {
                var forstasomOverlappar = overlappandeKurser.First();
                throw new ApplicationException($"Kan ej anmäla till angiven kurs. Befintlig anmälan överlappar med tidsperioden för detta tillfälle ('{forstasomOverlappar.KursNamn}' startar {forstasomOverlappar.StartDatum})");
            }

            // Utför ytterligare affärslogik, valideringar, sätt andra värden, lägg till/ändra/ta bort relaterade egenskaper etc...

            var nyAnmalan = new Kursanmalan {
                Anstalld = this, Anstalld_FK = this.Id, Kurstillfalle_FK = kurstillfalle.Kurs.Id
            };

            Kursanmalan.Add(nyAnmalan);
        }
コード例 #2
0
ファイル: Kursanmalan.cs プロジェクト: persel/PersonService
 public bool TillfalletPagarUnder(KursPeriod period)
 {
     return(Kurstillfalle.Overlappar(period));
 }