/// <summary> /// Updatet de gegevens van groep <paramref name="g"/> in Kipadmin. Het stamnummer van <paramref name="g"/> /// bepaalt de groep waarover het gaat. /// </summary> /// <param name="g">Te updaten groep in Kipadmin</param> public void Bewaren(Groep g) { Kip.ServiceContracts.DataContracts.Groep syncGroep = MappingHelper.Map <Groep, Kip.ServiceContracts.DataContracts.Groep>(g); ServiceHelper.CallService <ISyncPersoonService>(svc => svc.GroepUpdaten(syncGroep)); }
public DraaiboekControllerTest() { _actieRepositoryMock = new Mock <IActieRepository>(); _taakRepositoryMock = new Mock <ITaakRepository>(); _actieRepositoryMock.Setup(a => a.GeefAlles()).Returns(new List <Actie>() { new Actie("actie1", "omschrijving1") { ActieId = 5, Goedgekeurd = true }, new Actie("actie2", "omschrijving2"), new Actie("actie3", "omschrijving3") { Goedgekeurd = true }, new Actie("actie4", "omschrijving4"), new Actie("actie5", "omschrijving5"), new Actie("actie6", "omschrijving6") { Goedgekeurd = true } }); _actieRepositoryMock.Setup(a => a.GetById(5)).Returns(new Actie("Actie1", "omschrijving1")); _controller = new DraaiboekController(_actieRepositoryMock.Object, _taakRepositoryMock.Object); _testCursistZonderGroep = new Cursist("Jochem", "VanHespen", "*****@*****.**"); _groepTestCursist = new Groep("G11", false) { CurrentState = new ActieGoedgekeurdState(_groepTestCursist), ActieContainers = new List <ActieContainer>() { new ActieContainer() { Acties = new List <Actie>() { new Actie("actie1", "omschrijving1") { ActieId = 5, Goedgekeurd = true }, new Actie("actie2", "omschrijving2"), new Actie("actie3", "omschrijving3") { Goedgekeurd = true }, new Actie("actie4", "omschrijving4"), new Actie("actie5", "omschrijving5"), new Actie("actie6", "omschrijving6") { Goedgekeurd = true } } } } }; _testCursist = new Cursist("Jochem", "VanHespen", "*****@*****.**") { Groep = _groepTestCursist }; }
public override void OnActionExecuting(ActionExecutingContext context) { _groep = ReadGroepFromSession(context.HttpContext); context.ActionArguments["groep"] = _groep; base.OnActionExecuting(context); }
public IActionResult AccepteerGroep(Cursist cursist, AccepteerGroepViewModel model) { try { Groep groep = _groepRepository.GetBy(model.GroepNaam); groep.VoegCursistToe(cursist); _groepRepository.UpdateGroep(groep); _cursistRepository.UpdateCursist(cursist); _groepRepository.SaveChanges(); // melding verwijderen + message meegeven? //ViewBag._userMessage = $"U bent succesvol toegevoegd aan {groep.Naam} "; return(RedirectToAction(nameof(ToonLeden), "BeherenGroep")); } catch (ArgumentException e) { cursist.Meldingen.Remove(cursist.Meldingen.Find(c => c.GroepNaam == model.GroepNaam)); _cursistRepository.SaveChanges(); @ViewBag._userError = e.Message; List <Melding> meldingen = cursist.Meldingen; List <Groep> groepen = new List <Groep>(); meldingen.ForEach(m => { String naam = m.GroepNaam; if (naam != null) { groepen.Add(_groepRepository.GetBy(naam)); } }); ViewBag.groep = groepen; return(View("MaakGroep")); } }
public void Check(Groep g) { if (g == null || !_autorisatieMgr.IsGav(g)) { throw FaultExceptionHelper.GeenGav(); } }
public IActionResult Start(decimal id) { Groep groep = _groepRepository.GetById(id); if (groep == null) { return(NotFound()); } if (groep.Currentstate == null) { groep.InitializeState(); groep.KanSpelen(); groep.Spelen(); _groepRepository.SaveChanges(); } if (groep.Fout == 3) { groep.Blok(); _groepRepository.SaveChanges(); return(RedirectToAction("Feedback", "Groep", new { Id = groep.Id })); } Pad pad = groep.getCurrentGroepPad(groep.Progress).Paden; ViewData["Oefening"] = pad.OefeningNaamNavigation; getFile(pad.OefeningNaamNavigation.Opgave); return(View(new AntwoordViewModel(pad, groep))); }
public IActionResult NeemDeel(Sessie sessie, Leerling leerling, int groepId) { Groep groep = _groepsRepository.GetById(groepId); if (groep == null) { return(NotFound()); } if (sessie.Klas.Leerlingen.Any(l => l.LeerlingId == leerling.LeerlingId)) { groep.Leerlingen.Add(leerling); _groepsRepository.SaveChanges(); if (sessie.Doelgroep == DoelgroepEnum.Volwassenen) { groep.DeelnameBevestigd = true; _groepsRepository.SaveChanges(); return(RedirectToAction(nameof(StartSpel), new { groepId })); } } else { TempData["error"] = "Je zit niet in de klas voor deze sessie!"; } return(RedirectToAction("ValideerSessieCode", "Sessie", new { code = sessie.SessieCode.ToString() })); }
public IActionResult SpelSpelen(Groep groep, SpelViewModel svm) { if (groep.CurrentState is GroepGeblokkeerdState) { return(RedirectToAction(nameof(Feedback))); } if (ModelState.IsValid) { try { groep.VerwerkAntwoord(svm.Groepsantwoord); } catch (DrieFoutePogingenException e) { groep.Blokkeer(); _sessieRepository.SaveChanges(); TempData["danger"] = e.Message; return(RedirectToAction(nameof(Feedback))); } catch (TijdVerstrekenException e) { groep.Blokkeer(); _sessieRepository.SaveChanges(); TempData["danger"] = e.Message; return(RedirectToAction(nameof(Feedback))); } catch (FoutAntwoordException) { int pogingen = groep.Pad.GetCurrentOpdracht().FoutePogingen; if (pogingen != 0) { TempData["danger"] = $"{svm.Groepsantwoord} is fout! Je hebt {pogingen} foute {(pogingen == 1 ? "poging" : "pogingen")} ondernomen."; } else { TempData["danger"] = $"{svm.Groepsantwoord} is fout!"; } } catch (AlleOpdrachtenVoltooidException) { } catch (StateException e) { TempData["warning"] = e; } catch (Exception e) { TempData["warning"] = e; } } _sessieRepository.SaveChanges(); SpelViewModel svmMetInput = new SpelViewModel(groep) { Groepsantwoord = svm.Groepsantwoord }; return(View(svmMetInput)); }
private Groep CreateGroep(Tuple <EdexVestiging, EdexGroep> groepMetVestiging) { EdexGroep edexGroep = groepMetVestiging.Item2; Groep groep = new Groep(); groep.Key = edexGroep.Key; groep.Naam = edexGroep.Naam; if (groepMetVestiging.Item1 != null) { foreach (var leerling in this.EdexAdministratie.Leerlingen.Values.Where(l => l.Groep == edexGroep.Key && l.Vestiging == groepMetVestiging.Item1.Key)) { groep.Leerlingen.Add(leerling); } } else { foreach (var leerling in EdexAdministratie.Leerlingen.Values.Where(l => l.Groep == edexGroep.Key && l.Vestiging == null)) { groep.Leerlingen.Add(leerling); } } foreach (var leerkracht in EdexAdministratie.Leerkrachten.Values.Where(l => l.Groepen.Contains(edexGroep.Key))) { groep.Leerkrachten.Add(leerkracht); } return(groep); }
private void TakeArgumentAndWriteToSession(ActionExecutingContext context, string sessionkey) { object obj; context.ActionArguments.TryGetValue(sessionkey, out obj); if (obj != null && sessionkey == "sessiecode") { _sessie = _sessieRepository.GetBySessieCode(obj.ToString()); if (_sessie != null) { context.HttpContext.Session.SetString(sessionkey, JsonConvert.SerializeObject(obj)); } else { context.HttpContext.Session.Remove("sessiecode"); } } if (obj != null && sessionkey == "groepid") { _groep = _sessie.Groepen.FirstOrDefault(g => g.GroepId == Int32.Parse(obj.ToString())); if (_groep != null) { context.HttpContext.Session.SetString(sessionkey, JsonConvert.SerializeObject(obj)); } else { context.HttpContext.Session.Remove("groepid"); } } }
internal static int SaveGroep(Groep g) { string sql; if (g == null) return g.ID; DbParameter par1 = Database.AddParameter("@Naam", g.Naam); DbParameter par2 = Database.AddParameter("@Beschrijving", g.Beschrijving); DbParameter par3 = Database.AddParameter("@Image", g.Image); DbParameter par4 = Database.AddParameter("@Facebook", g.Facebook); DbParameter par5 = Database.AddParameter("@Twitter", g.Twitter); DbParameter par6 = Database.AddParameter("@ID", g.ID); if (g.ID != 0) { sql = "Update groep SET Naam = @Naam, Beschrijving = @Beschrijving, Image = @Image, Facebook = @Facebook, Twitter = @Twitter WHERE GroepID = @ID"; Database.ModifyData(sql, par1, par2, par3, par4, par5, par6); return g.ID; } else { sql = "INSERT INTO groep (Naam, Beschrijving, Image, Facebook, Twitter) VALUES (@Naam, @Beschrijving, @Image, @Facebook, @Twitter); SELECT SCOPE_IDENTITY() AS [InsertedReserveringID]"; DbDataReader reader = Database.GetData(sql, par1, par2, par3, par4, par5); if (reader.Read()) return Convert.ToInt32(reader[0]); else return 0; } }
/// <summary> /// Maakt een nieuwe categorie, en koppelt die aan een bestaande groep (met daaraan /// gekoppeld zijn categorieën) /// </summary> /// <param name="g"> /// Groep waarvoor de categorie gemaakt wordt. Als bestaande categorieën /// gekoppeld zijn, wordt op dubbels gecontroleerd /// </param> /// <param name="categorieNaam"> /// Naam voor de nieuwe categorie /// </param> /// <param name="categorieCode"> /// Code voor de nieuwe categorie /// </param> /// <returns> /// De toegevoegde categorie /// </returns> public Categorie CategorieToevoegen(Groep g, string categorieNaam, string categorieCode) { if (!_autorisatieMgr.IsGav(g)) { throw new GeenGavException(Resources.GeenGav); } else { // Is er al een categorie met die code? Categorie bestaande = (from ctg in g.Categorie where string.Compare(ctg.Code, categorieCode, true) == 0 || string.Compare(ctg.Naam, categorieNaam, true) == 0 select ctg).FirstOrDefault(); if (bestaande != null) { // TODO (#507): Check op bestaande afdeling door DB // OPM: we krijgen pas een DubbeleEntiteitException op het moment dat we bewaren, // maar hier doen we alleen een .Add throw new BestaatAlException <Categorie>(bestaande); } else { var c = new Categorie(); c.Naam = categorieNaam; c.Code = categorieCode; c.Groep = g; g.Categorie.Add(c); return(c); } } }
public GroepLeerling(Groep groep, Leerling leerling) { GroepId = groep.GroepId; LeerlingId = leerling.LeerlingId; Groep = groep; Leerling = leerling; }
public IActionResult VerwerkToegangscode(Groep groep, SpelViewModel svm) { if (groep.CurrentState is GroepGeblokkeerdState) { return(RedirectToAction(nameof(Feedback))); } if (ModelState.IsValid) { try { groep.VerwerkToegangscode(svm.Toegangscode); _sessieRepository.SaveChanges(); } catch (FouteToegangscodeException) { TempData["foutetoegangscode"] = TempData["warning"] = $"De toegangscode {svm.Toegangscode} is fout."; } catch (StateException e) { TempData["warning"] = e; } catch (Exception e) { TempData["warning"] = e; } } SpelViewModel svmMetInput = new SpelViewModel(groep) { Toegangscode = svm.Toegangscode }; return(View(nameof(SpelSpelen), svmMetInput)); }
public IActionResult ZetGroepNietGekozen(Sessie sessie, Groep groep) { if (groep != null) { try { // State veranderen groep.ZetNietGekozen(); _sessieRepository.SaveChanges(); // Boodschap TempData["success"] = $"Je hebt groep #{groep.GroepId} gedeselecteerd."; } catch (StateException e) { TempData["warning"] = e; } catch (Exception e) { TempData["warning"] = e; } } else { TempData["warning"] = $"Je hebt geen groep gereed gezet."; } return(RedirectToAction(nameof(GroepKiezen))); }
public IActionResult VolgendeOpdracht(Groep groep) { if (groep.CurrentState is GroepGeblokkeerdState) { return(RedirectToAction(nameof(Feedback))); } if (ModelState.IsValid) { try { groep.StartVolgendeOpdracht(); _sessieRepository.SaveChanges(); } catch (StateException e) { TempData["warning"] = e; } catch (Exception e) { TempData["warning"] = e; } } return(View(nameof(SpelSpelen), new SpelViewModel(groep))); }
public ActionResult SessieAfgelopen(Groep groep) { var score = _vooruitgangRepository.GetBy(groep.Id).Score; var totAantalOef = _vooruitgangRepository.GetBy(groep.Id).OefNummer; var huidigeSessieNaam = _vooruitgangRepository.GetBy(groep.Id).Sessienaam; List <Vooruitgang> alleVooruitgangVanSessie = new List <Vooruitgang>(); foreach (Vooruitgang v in _vooruitgangRepository.GetAll()) { if (v.Sessienaam == huidigeSessieNaam) { alleVooruitgangVanSessie.Add(v); } } int aantal = alleVooruitgangVanSessie.Count(v => v.OefNummer == totAantalOef); if (aantal == 1) { ViewBag.score = "Proficiat! Je hebt de schatkist gevonden!"; } else { ViewBag.score = "Proficiat, je hebt alle oefeningen opgelost! Iemand is al met de schatkist gaan lopen."; } return(View()); }
private Groep ReadGroepFromSession(HttpContext context) { Groep groep = context.Session.GetString("groep") == null ? new Groep() : JsonConvert.DeserializeObject <Groep>(context.Session.GetString("groep")); return(groep); }
// // GET: /Groep/Edit/5 public ActionResult Edit(int id) { Groep groep = unitOfWork.GroepRepository.GetById(id); ViewBag.EnqueteID = new SelectList(unitOfWork.EnqueteRepository.GetAll(), "ID", "Titel", groep.EnqueteID); return(View(groep)); }
public IActionResult Action(decimal id, ActionViewModel actionViewModel) { Groep groep = _groepRepository.GetById(id); if (groep == null) { return(NotFound()); } Pad pad = groep.getCurrentGroepPad(groep.Progress).Paden; if (pad.Toegangscode.Code == actionViewModel.Toegangscode) { groep.VerhoogProgress(); _groepRepository.SaveChanges(); return(RedirectToAction("Start", "Groep", new { Id = groep.Id })); } else { if (groep.Fout == 3) { groep.Blok(); } else { groep.VerhoogFout(); } } return(View(new ActionViewModel(pad, groep, false))); }
// // GET: /Groep/Delete/5 public ActionResult Delete(int id) { EnqueteContext db = new EnqueteContext(); Groep groep = db.Groepen.Find(id); return(View(groep)); }
/// <summary> /// Controleer of <paramref name="filter"/> geen zaken probeert op te vragen waarvoor /// je geen rechten hebt. /// </summary> /// <param name="filter">Een lidfilter</param> private void SecurityCheck(LidFilter filter) { // Check security // We verwachten minstens 1 van volgende zaken: // GroepID, GroepsWerkJaarID, AfdelingID, FunctieID // Als je recht hebt op groep, groepswerkjaar, afdeling of functie // dan krijg je resultaat. Securitygewijze is dat geen probleem, want // alle zoekvoorwaarden worden 'ge-and'. // Heb je geen rechten op groep, groepswerjaar, afdeling of functie, // dan krijg je een exception (te veel geknoei) Groep groep = null; if (filter.GroepID != null) { groep = _groepenRepo.ByID(filter.GroepID.Value); } else if (filter.GroepsWerkJaarID != null) { groep = _groepsWerkJarenRepo.ByID(filter.GroepsWerkJaarID.Value, "Groep").Groep; } else if (filter.AfdelingID != null) { groep = _afdelingenRepo.ByID(filter.AfdelingID.Value, "Groep").ChiroGroep; } else if (filter.FunctieID != null) { groep = _functiesRepo.ByID(filter.FunctieID.Value, "Groep").Groep; } if (!_autorisatieMgr.IsGav(groep)) { throw FaultExceptionHelper.GeenGav(); } }
public IActionResult Lounge(decimal id) { Groep groep = _groepRepository.GetById(id); if (groep == null) { return(NotFound()); } if (groep.Currentstate == null) { groep.InitializeState(); groep.GekozenEnVergrendeld(); //groep.KanSpelen(); //groep.Spelen(); _groepRepository.SaveChanges(); } else if (groep.Currentstate.GetStateEnum() == State.BLOK) { return(RedirectToAction("Feedback", "Groep", new { Id = groep.Id })); } return(View(groep)); }
public SpelViewModel(Groep groep) { NrHuidigeOpdracht = groep.Pad.GetProgressie()[0]; NrTotaalOpdrachten = groep.Pad.GetProgressie()[1]; if (groep.Pad.GetCurrentOpdracht().IsOpgelost) { PercentageVoltooid = (int)(((double)(NrHuidigeOpdracht) / (double)NrTotaalOpdrachten) * 100); } else { PercentageVoltooid = (int)(((double)(NrHuidigeOpdracht - 1) / (double)NrTotaalOpdrachten) * 100); } Opdracht = groep.Pad.GetCurrentOpdracht(); IsTijdsOpdracht = Opdracht.OpdrachtBepaler is EnumOpdrachtBepaler.TIJD; try { VolgendeOpdrachtIsToegankelijk = groep.Pad.GetNextOpdracht().IsToegankelijk; ToegangscodeVolgendeOpdracht = groep.Pad.GetNextOpdracht().Toegangscode.Code; ActieVolgendeOpdracht = groep.Pad.GetNextOpdracht().Actie.Omschrijving; } catch (ArgumentOutOfRangeException) // laatste oefening { IsLaatsteOefening = true; } }
public ActionViewModel(Pad pad, Groep groep, bool isSchatkist, string opgave = "") { Pad = pad; Groep = groep; Actie = pad.ActieNaamNavigation; IsSchatkist = isSchatkist; Opgave = opgave; }
public GroepViewModel(Groep groep, Sessie sessie) { GroepNaam = groep.Groepsnaam; Groep = groep; Sessie = sessie; BeschikbareLeerlingen = new List <Leerling>(); CheckBeschikbareLeerlingen(); }
public static void RemoveGenre(Groep g, Genre gr) { string sql = "DELETE FROM groep_genre WHERE GroepID = @GID and GenreID = @GrID"; Database.ModifyData(sql, Database.AddParameter("@GID", g.ID), Database.AddParameter("@GrID", gr.ID) ); }
internal static void AddGenre(Genre genre, Groep groep) { string sql = "INSERT INTO groep_genre VALUES (@GID, @GrID)"; Database.ModifyData(sql, Database.AddParameter("@GID", groep.ID), Database.AddParameter("@GrID", genre.ID) ); }
public ActionResult DeleteConfirmed(int id) { EnqueteContext db = new EnqueteContext(); Groep groep = db.Groepen.Find(id); db.Groepen.Remove(groep); db.SaveChanges(); return(RedirectToAction("Index")); }
private void WriteGroepToSession(Groep groep, HttpContext context) { context.Session.SetString("groepstate", JsonConvert.SerializeObject(groep.Currentstate, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple })); context.Session.SetString("groep", JsonConvert.SerializeObject(groep)); }
public GroupDialog(LoginUnitOfWork uow, Groep curGroep = null) { VM = new GroupDialogVm() { UnitOfWork = uow, CurrentGroep = curGroep }; DataContext = VM; InitializeComponent(); }
public void NodigUitVoorGroep_CursistHeeftGroep_ArgumentException() { //arrange Groep groep = new Groep("Test", false); cursist.Groep = groep; //assert Assert.Throws <ArgumentException>(() => cursist.NodigUitVoorGroep("*****@*****.**", "TestGroep")); }
/// <summary> /// Maakt een bivakplaats op basis van de naam <paramref name="plaatsNaam"/>, het /// <paramref name="adres"/> van de bivakplaats, en de ingevende /// <paramref name="groep"/>. /// </summary> /// <param name="plaatsNaam"> /// Naam van de bivakplaats /// </param> /// <param name="adres"> /// Adres van de bivakplaats /// </param> /// <param name="groep"> /// Groep die de bivakplaats ingeeft /// </param> /// <returns> /// De nieuwe plaats; niet gepersisteerd. /// </returns> private Plaats Maken(string plaatsNaam, Adres adres, Groep groep) { var resultaat = new Plaats { Naam = plaatsNaam, Adres = adres, Groep = groep, ID = 0 }; adres.BivakPlaats.Add(resultaat); groep.BivakPlaats.Add(resultaat); return(resultaat); }
internal static void DeleteGroep(Groep g) { if(g != null && g.ID != 0) { VerwijderOptredens(g); string sql = "DELETE FROM groep_genre WHERE GroepID = @ID"; Database.ModifyData(sql, Database.AddParameter("@ID", g.ID)); sql = "DELETE FROM groep WHERE GroepID = @ID"; Database.ModifyData(sql, Database.AddParameter("@ID", g.ID)); } }
public static int GetAantalOptredensByOptreden(Groep groep) { string sql = "SELECT COUNT(GroepID) FROM optreden WHERE GroepID = @ID"; DbDataReader reader = Database.GetData(sql, Database.AddParameter("@ID", groep.ID)); if (reader.Read()) { int i = Convert.ToInt32(reader[0]); reader.Close(); return i; } reader.Close(); return 0; }
internal static ObservableCollection<Optreden> GetOptredensByGroep(Groep g) { ObservableCollection<Optreden> lOptredens = new ObservableCollection<Optreden>(); string sql = "SELECT * FROM optreden WHERE GroepID = @ID"; DbDataReader reader = Database.GetData(sql, Database.AddParameter("@ID", g.ID)); while (reader.Read()) { lOptredens.Add(MaakOptreden(reader)); } reader.Close(); return lOptredens; }
private static void VerwijderOptredens(Groep g) { ObservableCollection<Optreden> lOptredens = OptredenRepository.GetOptredensByGroep(g); foreach(Optreden o in lOptredens) { UrenRepository.VerwijderOptredenUurByOptreden(o); OptredenRepository.Delete(o); } }
private static Groep MaakGroep(DbDataReader reader) { Groep g = new Groep(); g.ID = Convert.ToInt32(reader["GroepID"]); g.Naam = reader["Naam"].ToString(); g.Beschrijving = reader["Beschrijving"].ToString(); g.Image = reader["Image"].ToString(); g.Facebook = reader["Facebook"].ToString(); g.Twitter = reader["Twitter"].ToString(); g.Genres = GenreRepository.GetGenresByGroepId(g.ID); return g; }