public void EditPlanning(int cmId, int newVakcode, string newDatum, string newStartMoment, double newDuratie, int newLokaalid, string newLessenlijst, ApplicationUser user) { CourseMoment oldMoment = db.CourseMoment.Find(cmId); if (oldMoment == null) { throw new Exception("Er is geen overeenkomend moment gevonden in de databank."); } if (oldMoment.RoomId != newLokaalid) { oldMoment.RoomId = db.Room.Find(newLokaalid).Id; db.SaveChanges(); } double _duratie = Convert.ToDouble(newDuratie); DateTime datum = DateTime.ParseExact(newDatum, "yyyy-MM-dd", CultureInfo.InvariantCulture); DateTime tijd = new DateTime(1800, 1, 1, int.Parse(newStartMoment.Split(":")[0]), int.Parse(newStartMoment.Split(":")[1]), 0); DateTime eindmoment = tijd.AddHours(_duratie); if (oldMoment.Schedule.Datum != datum || oldMoment.Schedule.Startmoment != tijd || oldMoment.Schedule.Eindmoment != eindmoment) { // Deze lijn moet nog vervangen worden zodat er niet altijd een nieuwe reeds bestaande schedule wordt aangemaakt: Schedule schedule = db.Schedule.Find(datum, tijd,eindmoment); Schedule schedule = new Schedule { Datum = datum, Startmoment = tijd, Eindmoment = eindmoment }; db.Schedule.Add(schedule); db.SaveChanges(); oldMoment.ScheduleId = schedule.Id; db.SaveChanges(); } if (oldMoment.CourseId != newVakcode) { oldMoment.CourseId = db.Course.Find(newVakcode).Id; db.SaveChanges(); } oldMoment.LessenLijst = newLessenlijst; oldMoment.ApplicationUserId = user.Id; db.SaveChanges(); }
public int AddCm() { Course course = new Course { Vakcode = "MGP01A", Titel = "front end", Studiepunten = 6 }; ctxDb.Course.Add(course); Room room = new Room { Gebouw = "A", Verdiep = 0, Nummer = "01", Type = "Lokaal", Capaciteit = 20 }; ctxDb.Room.Add(room); Schedule schedule = new Schedule { Datum = new DateTime(DateTime.Now.Year, DateTime.Now.Month, (DateTime.Now.Day + 1)), Startmoment = new DateTime(1800, 01, 10, 11, 0, 0), Eindmoment = new DateTime(1800, 01, 01, 13, 0, 0) }; ctxDb.Schedule.Add(schedule); ApplicationUser user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", GeboorteDatum = new DateTime(1998, 09, 21), Naam = "Claes", VoorNaam = "Thomas", EmailConfirmed = true }; ctxDb.Users.Add(user); ctxDb.SaveChanges(); int courseId = ctxDb.Course.Where(c => c.Vakcode == "MGP01A").FirstOrDefault().Id; int roomId = ctxDb.Room.Where(r => r.Gebouw == "A" & r.Verdiep == 0 & r.Nummer == "01").FirstOrDefault().Id; int scheduleId = ctxDb.Schedule.Where(s => s.Datum == new DateTime(DateTime.Now.Year, DateTime.Now.Month, (DateTime.Now.Day + 1))).FirstOrDefault().Id; string userId = ctxDb.Users.Where(u => u.UserName == "r0664186").FirstOrDefault().Id; CourseMoment cm = new CourseMoment { CourseId = courseId, RoomId = roomId, ScheduleId = scheduleId, ApplicationUserId = userId, LessenLijst = "Dit is een lesmoment om mee te testen" }; ctxDb.CourseMoment.Add(cm); ctxDb.SaveChanges(); return(ctxDb.CourseMoment.Where(cm => cm.ScheduleId == scheduleId && cm.RoomId == roomId).FirstOrDefault().Id); }
public void AddPlanning(ApplicationUser user, DateTime datum, DateTime tijd, double _duratie, int lokaalId, int vakid, string?lessenlijst, bool?checkbox, int lokaal2Id) { DateTime eindmoment = tijd.AddHours(_duratie); if (DubbeleBoeking(datum, tijd, eindmoment, lokaalId)) { throw new Exception("Dit lokaal wordt reeds gebruikt in een anders lesmoment op dit tijdstip."); } //hier code schrijven zodat er niet altijd een nieuwe schedule wordt aangemaakt Schedule schedule = new Schedule { Datum = datum, Startmoment = tijd, Eindmoment = eindmoment }; db.Schedule.Add(schedule); db.SaveChanges(); CourseMoment moment = new CourseMoment { CourseId = vakid, ScheduleId = schedule.Id, RoomId = lokaalId, ApplicationUserId = user.Id, LessenLijst = lessenlijst }; db.CourseMoment.Add(moment); db.SaveChanges(); if (checkbox != null && checkbox == true) { if (DubbeleBoeking(datum, tijd, eindmoment, lokaal2Id)) { throw new Exception("Het lokaal voor de tweede les wordt reeds gebruikt in een anders lesmoment op dit tijdstip. Lesmoment 1 werd wel ingepland."); } CourseMoment moment2 = new CourseMoment { CourseId = vakid, ScheduleId = schedule.Id, RoomId = lokaal2Id, ApplicationUserId = user.Id, LessenLijst = lessenlijst }; //hier code schrijven zodat er geen tweede dezelfde coursemoment aangemaakt kan worden db.CourseMoment.Add(moment2); db.SaveChanges(); } }
public void DeletePlanning(int cmId) { CourseMoment moment = db.CourseMoment.Find(cmId); if (moment == null) { throw new Exception("Er is geen overeenkomend moment gevonden."); } db.CourseMoment.Remove(moment); var cmuL = db.CourseMomentUsers.Where(e => e.CoursMomentId == moment.Id); if (cmuL.Any()) { foreach (var cmu in cmuL) { db.CourseMomentUsers.Remove(cmu); } } db.SaveChanges(); }