public IActionResult RegistreerAanwezigheid(int lesmomentId, string gebruikersnaam) { try { Lesmoment lesmoment = lesmomentRepository.GetById(lesmomentId); Gebruiker gebruiker = gebruikerRepository.GetBy(gebruikersnaam); if (lesmoment.EersteHelftIsVoorbij()) { TempData["error"] = "De eerste helft van het lesmoment is al voorbij, u kan zelf niet meer aanwezig melden"; return(RedirectToRoute(new { controller = "Home", action = "Index" })); } else { if (gebruiker.Lesformule.TitleText.Count() > 8) //meerdere dagen formule => 5 punten { gebruiker.voegPuntenToe(5); } else { gebruiker.voegPuntenToe(10); //1 dag formule => 10 punten } gebruikerRepository.SaveChanges(); lesmoment.RegistreerLid(gebruiker); lesmomentRepository.Save(); return(RedirectToAction(nameof(Aanwezigheden))); } } catch { return(RedirectToAction("Error", "Home")); } }
public LesmomentLeden(Lesmoment lesmoment, Gebruiker gebruiker, Boolean ingeschreven = false, Boolean aanwezig = false) { this.Lesmoment = lesmoment; this.Gebruiker = gebruiker; this.Ingeschreven = ingeschreven; this.Aanwezig = aanwezig; }
public void MaakLesmomentAan_AllesCorrect_Valid() { var result = new Lesmoment(startTijd, eindTijd, _context.Lijst1Gebruiker); Assert.IsType <Lesmoment>(result); Assert.Empty(result.geefAanwezigeLeden()); Assert.Single(result.geefIngeschrevenLeden()); }
public void RegistreerLid_OnbestaandeGebruiker_valid() { lesmoment = new Lesmoment(new DateTime(2020, 1, 1), new DateTime(2021, 1, 1), _context.Lijst1Gebruiker); lesmoment.RegistreerLid(_context.GebruikerNietInLijst); Assert.Contains(_context.GebruikerNietInLijst, lesmoment.geefAanwezigeLeden()); Assert.Single(lesmoment.geefIngeschrevenLeden()); }
public IActionResult StopLesmoment(int id) { try { Lesmoment lesmoment = lesmomentRepository.GetById(id); lesmoment.ZetActief(false); lesmomentRepository.Save(); return(RedirectToAction(nameof(BeheerLesmoment))); } catch { return(RedirectToAction("Error", "Home")); } }
public IActionResult Aanwezigheden() { try { Lesmoment lesmoment = geefLesmomenten(l => l.Actief).FirstOrDefault(); if (lesmoment == null) { TempData["error"] = "Er is geen lesmoment bezig."; return(RedirectToAction("Index", "Home")); } return(View("Aanwezigheden", new LesmomentAlgemeenViewModel(lesmoment, LesformulesMetGebruikers()))); } catch { return(RedirectToAction("Error", "Home")); } }
public IActionResult RegistreerAanwezigheidNietIngeschreven(int id) { try { Lesmoment lesmoment = lesmomentRepository.GetById(id); if (lesmoment == null) { return(RedirectToAction(nameof(Aanwezigheden))); } var ingeschrevenGebruikers = lesmoment.Leden.Select(l => l.Gebruikersnaam); var gebruikers = gebruikerRepository.GetAllLeden().OrderBy(g => g.Gebruikersnaam).Where(g => !ingeschrevenGebruikers.Contains(g.Gebruikersnaam)); return(View(new LesmomentNietIngeschrevenViewModel(gebruikers, lesmoment))); } catch { return(RedirectToAction("Error", "Home")); } }
public IActionResult RegistreerAanwezigheidProefles(LesmomentProeflesViewModel model) { try { Lesmoment lesmoment = lesmomentRepository.GetById(model.LesmomentId); Gebruiker gebruiker = LesmomentProeflesViewModelToGebruiker(model); gebruikerRepository.Save(gebruiker); lesmoment.RegistreerLid(gebruiker); lesmomentRepository.Save(); return(Aanwezigheden()); } catch { return(RedirectToAction("Error", "Home")); } }
public IActionResult GebruikersPerFormule(int lesmomentId, int lesformuleId) { try { Lesformule formule = lesformuleRepository.GetById(lesformuleId); Lesmoment lesmoment = lesmomentRepository.GetById(lesmomentId); List <Gebruiker> gebruikers = gebruikerRepository.GetAllLedenInFormule(formule); if (formule == null || lesmoment == null || gebruikers == null) { return(RedirectToAction("Error", "Home")); } return(View(new LesmomentGebruikersInFormuleViewModel(lesmoment, formule, gebruikers))); } catch { return(RedirectToAction("Error", "Home")); } }
public IActionResult StartLesmoment(int id) { try { if (lesmomentRepository.GetAll().Exists(t => t.Actief)) { TempData["Error"] = "Er kan maar 1 lesmoment actief zijn."; return(RedirectToAction(nameof(BeheerLesmoment))); } Lesmoment lesmoment = lesmomentRepository.GetById(id); lesmoment.ZetActief(true); lesmomentRepository.Save(); return(RedirectToAction(nameof(Aanwezigheden))); } catch { return(RedirectToAction("Error", "Home")); } }
public IActionResult AanwezighedenLesmoment(int id) { try { Lesmoment les = lesmomentRepository.GetById(id); if (les == null) { return(RedirectToAction("Index", "Overzicht")); } else { LesmomentOverzichtAanwezigenViewModel model = new LesmomentOverzichtAanwezigenViewModel(les, lesmomentRepository.GetAanwezigenLesmomenten(id), lesmomentRepository.GetAfwezigenLesmomenten(id)); return(View(model)); } } catch { return(RedirectToAction("Error", "Home")); } }
public LesmomentGebruikerViewModel(Lesmoment lesmoment) { Lesmoment = lesmoment; }
public DummyDBcontext() { // lesformules Lesformule lesformule1 = new Lesformule(new List <DayOfWeek>() { DayOfWeek.Wednesday }, "Woensdag", "Ik volg normaal les op woensdag."); Lesformule lesformule2 = new Lesformule(new List <DayOfWeek>() { DayOfWeek.Saturday }, "Zaterdag", "Ik volg normaal les op zaterdag."); Lesformule lesformule3 = new Lesformule(new List <DayOfWeek>() { DayOfWeek.Tuesday }, "Dinsdag", "Ik volg normaal les op dinsdag."); Lesformule lesformule4 = new Lesformule(new List <DayOfWeek>() { DayOfWeek.Wednesday, DayOfWeek.Saturday }, "Woensdag en zaterdag", "Ik volg normaal les op woensdag en zaterdag."); Lesformule lesformule5 = new Lesformule(new List <DayOfWeek>() { DayOfWeek.Tuesday, DayOfWeek.Saturday }, "Dinsdag en zaterdag", "Ik volg normaal les op dinsdag en zaterdag."); Lesformule lesformule6 = new Lesformule(new List <DayOfWeek>() { DayOfWeek.Tuesday, DayOfWeek.Thursday }, "Dinsdag en donderdag", "Ik volg normaal les op dinsdag en donderdag."); Lesformules = new List <Lesformule>() { lesformule1, lesformule2, lesformule3, lesformule4, lesformule5, lesformule6 }; Gebruiker gebruiker1 = new Gebruiker("username1", "25632112569", DateTime.Now, "name1", "first name1", Taijitan.Models.Domain.Enums.Geslacht.Man, new DateTime(1990, 1, 1), "Gent", "00712345678", "0236587496", "*****@*****.**", "*****@*****.**", new Adres("België", "9000", "Gent", "Voskenslaan", "1"), 100, Gradatie.HachiDan, TypeGebruiker.Lid, lesformule4); GebruikerNietInLijst = new Gebruiker("username2", "25632100000", DateTime.Now, "name2", "first name2", Taijitan.Models.Domain.Enums.Geslacht.Vrouw, new DateTime(1990, 1, 1), "Gent", "00712345678", "0236587496", "*****@*****.**", "*****@*****.**", new Adres("België", "9000", "Gent", "Voskenslaan", "1"), 100, Gradatie.JuichiDan, TypeGebruiker.Lid, lesformule1); GebruikerInLijst = gebruiker1; Lijst1Gebruiker = new List <Gebruiker>(); Lijst1Gebruiker.Add(gebruiker1); Lijst1GebruikerVM = new List <GebruikerEditViewModel>(); Lijst1GebruikerVM.Add(new GebruikerEditViewModel(gebruiker1)); Adres adres1 = new Adres("België", "9820", "Gent", "MartialArtStraat", "5a"); Adres adres2 = new Adres("België", "9820", "Gent", "Ledenstraat", "16"); Gebruiker BruceLee = new Gebruiker("taijitan2", "11111111111", new DateTime(2018, 05, 16), "Lee", "Bruce", Geslacht.Man, new DateTime(1940, 11, 27), "UZ Gent", null, "0479076258", "*****@*****.**", "*****@*****.**", adres1, 100, Gradatie.NiDan, TypeGebruiker.Lid, lesformule4); GebruikerInLesmomentLedenVanLesmomentValid = new Gebruiker("lid2", "12312312312", new DateTime(2018, 05, 24), "John", "Doe", Geslacht.Man, new DateTime(1960, 3, 24), "Brussel", "0525252525", "0479076258", "*****@*****.**", "*****@*****.**", adres1, 100, Gradatie.JuichiDan, TypeGebruiker.Lid, lesformule2); // LesmomentController LesmomentLeden lesmomentLedenBruceLee = new LesmomentLeden() { Gebruiker = BruceLee }; LesmomentLeden lesmomentLedenLid = new LesmomentLeden() { Gebruiker = GebruikerInLesmomentLedenVanLesmomentValid }; List <LesmomentLeden> lesmomentLeden = new List <LesmomentLeden>(); lesmomentLeden.Add(lesmomentLedenBruceLee); lesmomentLeden.Add(lesmomentLedenLid); LesmomentValid = new Lesmoment(DateTime.Now.AddHours(1), DateTime.Now.AddHours(2), lesmomentLeden); LesmomentActief = new Lesmoment(DateTime.Now, DateTime.Now.AddHours(2), lesmomentLeden); LesmomentActief.ZetActief(true); Lesmomenten = new List <Lesmoment>(); Lesmomenten.Add(LesmomentValid); Lesmomenten.Add(LesmomentActief); //LesmateriaalController Thema thema1 = new Thema("handworpen") { ThemaId = 1 }; Thema thema2 = new Thema("standen") { ThemaId = 2 }; Themas = new List <Thema>(); Themas.Add(thema1); Themas.Add(thema2); Lesmateriaal lesmateriaal1 = new Lesmateriaal("handworpen1", Gradatie.GoKyu, thema1) { LesmateriaalId = 1 }; Lesmateriaal lesmateriaal2 = new Lesmateriaal("handworpen2", Gradatie.JuniDan, thema1) { LesmateriaalId = 2 }; Lesmateriaal lesmateriaal3 = new Lesmateriaal("standen1", Gradatie.JuniDan, thema2) { LesmateriaalId = 3 }; Lesmateriaal = new List <Lesmateriaal>(); Lesmateriaal.Add(lesmateriaal1); Lesmateriaal.Add(lesmateriaal2); }
public LesmomentOverzichtAanwezigenViewModel(Lesmoment les, IEnumerable <Gebruiker> aanwezigeGebruikers, IEnumerable <Gebruiker> afwezigeGebruikers) { Lesmoment = les; this.AanwezigeGebruikers = aanwezigeGebruikers; this.AfwezigeGebruikers = afwezigeGebruikers; }
public async Task InitializeData() { _context.Database.EnsureDeleted(); if (_context.Database.EnsureCreated()) { // Lesformules List <Lesformule> lesformules = new List <Lesformule>(); lesformules.Add(new Lesformule(new List <DayOfWeek>() { DayOfWeek.Wednesday }, "Woensdag", "Ik volg normaal les op woensdag.")); lesformules.Add(new Lesformule(new List <DayOfWeek>() { DayOfWeek.Saturday }, "Zaterdag", "Ik volg normaal les op zaterdag.")); lesformules.Add(new Lesformule(new List <DayOfWeek>() { DayOfWeek.Tuesday }, "Dinsdag", "Ik volg normaal les op dinsdag.")); lesformules.Add(new Lesformule(new List <DayOfWeek>() { DayOfWeek.Wednesday, DayOfWeek.Saturday }, "Woensdag en zaterdag", "Ik volg normaal les op woensdag en zaterdag.")); lesformules.Add(new Lesformule(new List <DayOfWeek>() { DayOfWeek.Tuesday, DayOfWeek.Saturday }, "Dinsdag en zaterdag", "Ik volg normaal les op dinsdag en zaterdag.")); lesformules.Add(new Lesformule(new List <DayOfWeek>() { DayOfWeek.Tuesday, DayOfWeek.Thursday }, "Dinsdag en donderdag", "Ik volg normaal les op dinsdag en donderdag.")); foreach (Lesformule lesformule in lesformules) { _context.Lesformules.Add(lesformule); } // Gebruikers List <Gebruiker> _gebruikers = new List <Gebruiker>(); Adres adres; Gebruiker gebruiker; Random rand = new Random(); for (int lesformule = 0; lesformule < 6; lesformule++) { for (int i = 101; i <= 108; i++) { adres = new Adres("België", "9000", "Gent", "Teststraat", i.ToString()); gebruiker = new Gebruiker( "gebruiker_" + lesformule.ToString() + "_" + i.ToString(), "1111111" + lesformule.ToString() + i.ToString(), new DateTime(2018, 03, 12), "Naam" + i.ToString(), "Voornaam" + i.ToString(), (Geslacht)(rand.Next(2) + 1), new DateTime(1970, 10, 25), "Gent", "078151525", "0468431531", "*****@*****.**", "*****@*****.**", adres, rand.Next(1000), (Gradatie)(rand.Next(17) + 1), TypeGebruiker.Lid, lesformules[lesformule] ); _gebruikers.Add(gebruiker); _context.Gebruikers.Add(gebruiker); } } // Lesmomenten toekomst DateTime now = DateTime.Now; DateTime start, end; for (int i = 0; i < 7; i++) { switch ((int)now.DayOfWeek) { // Zondag case 0: start = now.Date + new TimeSpan(11, 00, 00); end = now.Date + new TimeSpan(12, 30, 00); // Alle gebruikers (geen formule voorzien) _context.Lesmomenten.Add(new Lesmoment(start, end, _gebruikers)); break; // Maandag case 1: // Geen les break; // Dinsdag case 2: start = now.Date + new TimeSpan(18, 00, 00); end = now.Date + new TimeSpan(19, 00, 00); _context.Lesmomenten.Add(new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[4]) || g.Lesformule.Equals(lesformules[5]) || g.Lesformule.Equals(lesformules[2])).ToList())); break; // Woensdag case 3: start = now.Date + new TimeSpan(14, 00, 00); end = now.Date + new TimeSpan(16, 00, 00); _context.Lesmomenten.Add(new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[0]) || g.Lesformule.Equals(lesformules[3])).ToList())); break; // Donderdag case 4: start = now.Date + new TimeSpan(18, 00, 00); end = now.Date + new TimeSpan(20, 00, 00); _context.Lesmomenten.Add(new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[5])).ToList())); break; // Vrijdag case 5: // Geen les break; // Zaterdag case 6: start = now.Date + new TimeSpan(11, 30, 00); end = now.Date + new TimeSpan(13, 00, 00); _context.Lesmomenten.Add(new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[4]) || g.Lesformule.Equals(lesformules[3]) || g.Lesformule.Equals(lesformules[1])).ToList())); break; } now = now.AddDays(1); } // Lesmomenten historiek now = new DateTime(2019, 3, 20); Lesmoment lesmomentTemp; for (int i = 0; i < 10; i++) { switch ((int)now.DayOfWeek) { // Zondag case 0: start = now.Date + new TimeSpan(11, 00, 00); end = now.Date + new TimeSpan(12, 30, 00); // Alle gebruikers (geen formule voorzien) lesmomentTemp = new Lesmoment(start, end, _gebruikers); foreach (Gebruiker ingeschrevenLid in lesmomentTemp.geefIngeschrevenLeden()) { if (rand.Next(4).Equals(0)) { lesmomentTemp.RegistreerLid(ingeschrevenLid); } } _context.Lesmomenten.Add(lesmomentTemp); break; // Maandag case 1: // Geen les break; // Dinsdag case 2: start = now.Date + new TimeSpan(18, 00, 00); end = now.Date + new TimeSpan(19, 00, 00); lesmomentTemp = new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[4]) || g.Lesformule.Equals(lesformules[5]) || g.Lesformule.Equals(lesformules[2])).ToList()); foreach (Gebruiker ingeschrevenLid in lesmomentTemp.geefIngeschrevenLeden()) { if (rand.Next(4).Equals(0)) { lesmomentTemp.RegistreerLid(ingeschrevenLid); } } _context.Lesmomenten.Add(lesmomentTemp); break; // Woensdag case 3: start = now.Date + new TimeSpan(14, 00, 00); end = now.Date + new TimeSpan(16, 00, 00); lesmomentTemp = new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[0]) || g.Lesformule.Equals(lesformules[3])).ToList()); foreach (Gebruiker ingeschrevenLid in lesmomentTemp.geefIngeschrevenLeden()) { if (rand.Next(4).Equals(0)) { lesmomentTemp.RegistreerLid(ingeschrevenLid); } } _context.Lesmomenten.Add(lesmomentTemp); break; // Donderdag case 4: start = now.Date + new TimeSpan(18, 00, 00); end = now.Date + new TimeSpan(20, 00, 00); lesmomentTemp = new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[5])).ToList()); foreach (Gebruiker ingeschrevenLid in lesmomentTemp.geefIngeschrevenLeden()) { if (rand.Next(4).Equals(0)) { lesmomentTemp.RegistreerLid(ingeschrevenLid); } } _context.Lesmomenten.Add(lesmomentTemp); break; // Vrijdag case 5: // Geen les break; // Zaterdag case 6: start = now.Date + new TimeSpan(11, 30, 00); end = now.Date + new TimeSpan(13, 00, 00); lesmomentTemp = new Lesmoment(start, end, _gebruikers.Where( g => g.Lesformule.Equals(lesformules[4]) || g.Lesformule.Equals(lesformules[3]) || g.Lesformule.Equals(lesformules[1])).ToList()); foreach (Gebruiker ingeschrevenLid in lesmomentTemp.geefIngeschrevenLeden()) { if (rand.Next(4).Equals(0)) { lesmomentTemp.RegistreerLid(ingeschrevenLid); } } _context.Lesmomenten.Add(lesmomentTemp); break; } now = now.AddDays(-14); } // Themas List <Thema> themas = new List <Thema>(); themas.Add(new Thema("Handworpen")); themas.Add(new Thema("Standen")); themas.Add(new Thema("Sprongen")); themas.Add(new Thema("Vallen")); // Fotos Foto foto1 = new Foto("achterwaartse_stand_1", "jpg"); Foto foto2 = new Foto("achterwaartse_stand_2", "jpg"); Foto foto3 = new Foto("achterwaartse_stand_3", "jpg"); _context.Fotos.Add(foto1); _context.Fotos.Add(foto2); _context.Fotos.Add(foto3); // Lesmateriaal string loremIpsum = "Lorem ipsum dolor sit amet, has reque suscipiantur ad, an duo hinc habeo omnes, ex eam eirmod probatus. Vis cu dicant vocibus urbanitas, nostro facilisi eu nam, vim an aeque adolescens. Nec consequat moderatius ex. Eruditi graecis blandit vix eu, vel aperiri praesent id, ancillae scribentur ex eos."; loremIpsum += loremIpsum + loremIpsum; string videoId = "pD3T7WNsw6k"; _context.Lesmateriaal.Add(new Lesmateriaal("test_lege_velden", Gradatie.RokkuKyu, themas[0])); List <Lesmateriaal> lesmateriaal = new List <Lesmateriaal>(); foreach (Thema thema in themas) { foreach (Gradatie gradatie in (Gradatie[])Enum.GetValues(typeof(Gradatie))) { for (int i = 1; i < 4; i++) { lesmateriaal.Add(new Lesmateriaal( "oefeningtitel_" + thema.Naam + "_" + gradatie.ToString() + "_" + i.ToString(), gradatie, thema, loremIpsum, videoId)); } } } FotoLesmateriaal fotoLesmateriaal1, fotoLesmateriaal2, fotoLesmateriaal3; foreach (Lesmateriaal _lesmateriaal in lesmateriaal) { fotoLesmateriaal1 = new FotoLesmateriaal(_lesmateriaal, foto1); fotoLesmateriaal2 = new FotoLesmateriaal(_lesmateriaal, foto2); fotoLesmateriaal3 = new FotoLesmateriaal(_lesmateriaal, foto3); _lesmateriaal.Fotos = new List <FotoLesmateriaal>() { fotoLesmateriaal1, fotoLesmateriaal2, fotoLesmateriaal3 }; _context.Lesmateriaal.Add(_lesmateriaal); } _context.SaveChanges(); await InitializeUsers(_gebruikers); } }
public void Save(Lesmoment lesmoment) { _lesmomenten.Add(lesmoment); _context.SaveChanges(); }
public LesmomentNietIngeschrevenViewModel(IEnumerable <Gebruiker> gebruikers, Lesmoment lesmoment) { this.Lesmoment = lesmoment; this.Gebruikers = gebruikers; }
public LesmomentAlgemeenViewModel(Lesmoment lesmoment, HashSet <Lesformule> formules) { Lesmoment = lesmoment; Lesformules = formules; }
public LesmomentGebruikersInFormuleViewModel(Lesmoment lesmoment, Lesformule lesformule, List <Gebruiker> gebruikers) { Lesmoment = lesmoment; Lesformule = lesformule; Gebruikers = gebruikers; }
public void RegistreerLid_nullArgument_ExceptionRaised() { lesmoment = new Lesmoment(new DateTime(2020, 1, 1), new DateTime(2021, 1, 1), _context.Lijst1Gebruiker); Assert.Throws <ArgumentNullException>(() => lesmoment.RegistreerLid(null)); }
public LesmomentProeflesViewModel(Lesmoment lesmoment) { this.LesmomentId = lesmoment.LesmomentId; }