public async Task <AntwoordOpPostCursus> PostCursusInstantie(CommCursus nieuweCursusInstantie) { bool cursusWasOnbekend = false; bool instantieWasOnbekend = false; var cursus = await VindCursusBijCommCursus(nieuweCursusInstantie); if (cursus == null) // de cursus bestaat nog niet { cursusWasOnbekend = true; cursus = await VoegCursusToe(nieuweCursusInstantie); } var instantie = db.CursusInstanties.Where(ci => ci.Startdatum == nieuweCursusInstantie.Startdatum && ci.CursusId == cursus.Id).FirstOrDefaultAsync().Result; if (instantie == null) // de cursus instantie bestaat nog niet { instantieWasOnbekend = true; instantie = await VoegCursusInstantieToe(nieuweCursusInstantie, cursus); } return(new AntwoordOpPostCursus() { Naam = cursus.Naam, Duur = cursus.Duur, Startdatum = instantie.Startdatum, CursusWasOnbekend = cursusWasOnbekend, InstantieWasOnbekend = instantieWasOnbekend }); }
public void PostCursusInstantie_MetBekendeCursus_SlaatNieuweInstantieOp() { //arrange var tePostenCursus = new CommCursus() { Naam = "test cursus 2", Duur = "5 dagen", Startdatum = new DateTime(2020, 6, 3) }; var verwachtAntwoord = new AntwoordOpPostCursus() { Startdatum = new DateTime(2020, 6, 3), Naam = "test cursus 2", Duur = "5 dagen", CursusWasOnbekend = false, InstantieWasOnbekend = true }; //act var antwoord = _sut.PostCursusInstantie(tePostenCursus).Result; //assert antwoord.ShouldNotBeNull(); CompareAntwoorden(antwoord, verwachtAntwoord); }
private async Task <Cursus> VoegCursusToe(CommCursus nieuweCursusInstantie) { db.Cursussen.Add(new Cursus { Duur = nieuweCursusInstantie.Duur, Naam = nieuweCursusInstantie.Naam }); await db.SaveChangesAsync(); return(db.Cursussen.Where(c => c.Naam == nieuweCursusInstantie.Naam).FirstOrDefaultAsync().Result); }
public async Task <IHttpActionResult> PostCursusInstantie(CommCursus nieuweCursusInstantie) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var antwoord = await repo.PostCursusInstantie(nieuweCursusInstantie); return(CreatedAtRoute("DefaultApi", new {}, antwoord)); }
private async Task <CursusInstantie> VoegCursusInstantieToe(CommCursus nieuweCursusInstantie, Cursus cursus) { var instantie = new CursusInstantie() { Startdatum = nieuweCursusInstantie.Startdatum, CursusId = cursus.Id }; db.CursusInstanties.Add(instantie); await db.SaveChangesAsync(); return(instantie); }
private Task <Cursus> VindCursusBijCommCursus(CommCursus cursus) { return(db.Cursussen.Where(c => c.Naam == cursus.Naam).FirstOrDefaultAsync()); }
private void CompareAntwoorden(CommCursus antwoord, CommCursus verwacht) { antwoord.Duur.ShouldBe(verwacht.Duur); antwoord.Startdatum.ShouldBe(verwacht.Startdatum); antwoord.Naam.ShouldBe(verwacht.Naam); }