Example #1
0
        public IActionResult Aanwezigheden(Sessie sessie)
        {
            if (sessie.Ledenlijst.Any())  //indien er nog geen leden geregistreerd zijn voor de huidige dag, mag er geregistreerd worden
            {
                return(RedirectToAction(nameof(AanwezigeLeden)));
            }
            sessie = new Sessie();
            IEnumerable <Lid> gebruikersLijst = _gebruikerRepository.GetLedenVoorSessieOp(sessie.Dag).AsEnumerable();

            return(View(gebruikersLijst));
        }
        public Sessie GetSessieFromSpeler(int spelerId)
        {
            Team   team   = GetTeamFromSpeler(spelerId);
            Sessie sessie = null;

            if (team != null && team.AssignedSessie != null)
            {
                sessie = _sessieRepo.GetSessie(team.AssignedSessie.Id);
            }
            return(sessie);
        }
Example #3
0
        public IActionResult MeldAanwezig(int id, string aanwezig, MeldAanwezigViewModel model)
        {
            try
            {
                Sessie    sessie = _sessieRepository.GetByID(id);
                Gebruiker gebruiker;
                if (sessie.StartDatum <= DateTime.Now && sessie.StatusSessie != StatusSessie.Gesloten)
                {
                    throw new SessieException("Je kan je niet meer aanmelden in deze sessie.");
                }
                if (aanwezig != null)
                {
                    model.Barcode = aanwezig;
                }
                gebruiker = _gebruikerRepository.GetDeelnemerByBarcode(model.Barcode);

                if (sessie.geefAlleAanwezigen().Contains(gebruiker))
                {
                    TempData["message"] = gebruiker.GeefVolledigeNaam() + " is afwezig gezet!";
                }
                else
                {
                    TempData["message"] = gebruiker.GeefVolledigeNaam() + "  is aanwezig gezet!";
                }
                sessie.MeldAanwezigAfwezig(gebruiker);
                _sessieRepository.SaveChanges();
                _gebruikerRepository.SaveChanges();

                model.Barcode = null;
                return(View(new MeldAanwezigViewModel(sessie)));
            }
            catch (SessieException e)
            {
                TempData["Error"] = e.Message;
                return(RedirectToAction(nameof(Index), new { @id = id }));
            }
            catch (GeenActieveGebruikerException e)
            {
                TempData["Error"] = e.Message;
                return(RedirectToAction(nameof(MeldAanwezig), new { @id = id }));
            }
            catch (SchrijfInSchrijfUitException e)
            {
                TempData["Error"] = e.Message;
                return(RedirectToAction(nameof(MeldAanwezig), new { @id = id }));
            }
            catch (Exception e)
            {
                TempData["Error"] = "Gebruiker kon niet worden aanwezig gesteld";

                return(RedirectToAction(nameof(MeldAanwezig), new { @id = id }));
            }
        }
Example #4
0
 public SessieViewModel(Sessie sessie)
 {
     SessionCode    = sessie.SessionCode;
     Name           = sessie.Name;
     Desc           = sessie.Desc;
     DayStarted     = sessie.DayStarted;
     IsDayEducation = sessie.IsDayEducation;
     HasFeedback    = sessie.HasFeedback;
     Groups         = sessie.Groups;
     Box            = sessie.Box;
     IsActive       = sessie.IsActive;
 }
        /// <summary>
        ///     Selecteert een sessie om de details ervan te kunnen bekijken.
        /// </summary>
        /// <param name="sessieId">Het id van de geselecteerde sessie</param>
        /// <returns>
        ///     SessieDetail View met een SessieDetailViewModel als Model.
        ///     Indien er geen Sessie wordt gevonden met het meegegeven id wordt er een
        ///     NotFoundResult teruggeven.
        /// </returns>
        public IActionResult SelecteerSessie(int sessieId)
        {
            Sessie sessie = _sessieRepository.GetById(sessieId);

            if (sessie == null)
            {
                return(NotFound());
            }
            ViewData["Doelgroepen"] = GetDoelgroepenAsSelectList(sessie.Doelgroep);

            return(View("SessieDetail", new SessieDetailViewModel(sessie)));
        }
Example #6
0
        public void InschrijvenAlsErGeenVrijePlaatsenZijn_ThrowtError()
        {
            _session = MaakDefaultSessie();
            _session.ToState(new RegistratieEnAanmeldenOpenState(_session));
            _session.Lokaal.AantalPlaatsen = 4;
            _session.SchrijfGebruikerIn(MaakDefaultSGI(piet));
            _session.SchrijfGebruikerIn(MaakDefaultSGI(pol));
            _session.SchrijfGebruikerIn(MaakDefaultSGI(jan));
            _session.SchrijfGebruikerIn(MaakDefaultSGI(thomas));

            Assert.Throws <InvalidOperationException>(() => _session.SchrijfGebruikerIn(new SessieGebruikerIngeschreven(_session, jan)));
        }
Example #7
0
        public IActionResult Index(string id)
        {
            Sessie sessie = _sessieRepository.GetById(id);

            if (sessie == null)
            {
                return(NotFound());
            }


            return(View(sessie));
        }
Example #8
0
        public IActionResult GeefFeedback(int id)
        {
            Sessie sessie = _sessieRepository.GetById(id);

            if (sessie == null)
            {
                return(NotFound());
            }
            ViewData["Sessie"] = sessie.Titel;

            return(View(new FeedbackViewModel(sessie)));
        }
Example #9
0
        public VerantwoordelijkeTest()
        {
            _context = new DummyDbContext();

            _admin = _context.admin;

            _organizer1 = _context.organizer1;
            _organizer2 = _context.organizer2;

            hedenSessie    = _context.hedenSessie;
            verledenSessie = _context.verledenSessie;
        }
Example #10
0
 public void Delete(Sessie sessie)
 {
     _sessies.Remove(sessie);
     _gebruikerSessies.ToList().ForEach(t =>
     {
         if (t.Sessie.Equals(sessie))
         {
             _gebruikerSessies.Remove(t);
         }
     });
     SaveChanges();
 }
Example #11
0
        public IHttpActionResult PostSessie(Sessie sessie)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Sessies.Add(sessie);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = sessie.ID }, sessie));
        }
Example #12
0
 public GebruikerSessieViewModel(Sessie sessie, Inschrijving inschrijving)
 {
     Id          = sessie.Id;
     Titel       = sessie.Titel;
     Gastspreker = sessie.Gastspreker;
     Datum       = sessie.GetDatumString();
     Lokaal      = sessie.GetLokaalString();
     if (inschrijving != null)
     {
         Aanwezig = inschrijving.Aanwezig;
     }
 }
Example #13
0
        public IActionResult Detail(Gebruiker gebruiker, int id)
        {
            Sessie sessie = _sessieRepository.GetByID(id);

            List <int> scores = new List <int>()
            {
                0, 1, 2, 3, 4, 5
            };
            SelectList scoresSelectList = new SelectList(scores);

            ViewData["scores"] = scoresSelectList;

            return(View(new SessieDetailsViewModel(sessie, gebruiker)));
        }
 public SessieDetailsViewModel(Sessie s)
 {
     Beschrijving      = s.Beschrijving;
     Gastspreker       = s.Gastspreker;
     OpenPlaatsen      = s.GetOpenPlaatsen();
     Status            = s.Status.ToString();
     StatusString      = s.GetStatusString();
     Titel             = s.Titel;
     Lokaal            = s.GetLokaalString();
     Datum             = s.GetDatumString();
     Start             = s.Start;
     Id                = s.Id;
     Verantwoordelijke = s.Verantwoordelijke;
 }
        public SessieControllerTest()
        {
            _mockSessieRepository = new Mock <ISessieRepository>();
            _sessie     = _dummyContext._maandag;
            _sessieNaam = _sessie.Naam;

            _sessieController = new SessieController(_mockSessieRepository.Object)
            {
                TempData = new Mock <ITempDataDictionary>().Object
            };

            _mockSessieRepository.Setup(s => s.GetAll()).Returns(_dummyContext.Sessies);
            _mockSessieRepository.Setup(s => s.GetById(_sessieNaam)).Returns(_dummyContext._maandag);
        }
Example #16
0
        public GebruikerTest()
        {
            sRgeopendAgeopend.OpenVoorAanmelden();

            sRgeslotenAgeopend.OpenVoorAanmelden();
            sRgeslotenAgeopend.SluitVoorRegistratie();

            sRgeslotenAgesloten.OpenVoorAanmelden();
            sRgeslotenAgesloten.SluitVoorRegistratie();
            sRgeslotenAgesloten.SluitSessie();

            _dummydata = new DummyData();
            s1         = _dummydata.s1;
        }
Example #17
0
        public void Add(Sessie sessie)
        {
            if (sessie.Aanwezigen.Count != 0)
            {
                sessie.Aanwezigen.ForEach(a =>
                {
                    _gebruikerSessies.Add(new GebruikerSessie(sessie, a));
                    SaveChanges();
                });
            }

            _sessies.Add(sessie);
            SaveChanges();
        }
Example #18
0
        public async Task <IActionResult> Create([Bind("Id,Naam,TrackId,TijdvakId,RuimteId")] Sessie sessie)
        {
            if (ModelState.IsValid)
            {
                _context.Add(sessie);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            PopulateTracksDropDownList(sessie.TrackId);
            PopulateTijdvakDropDownList(sessie.TijdvakId);
            PopulateRuimtesDropDownList(sessie.RuimteId);
            return(View(sessie));
        }
Example #19
0
 public IActionResult ToonOpenSessie(int id)
 {
     try
     {
         Sessie    sessie    = _sessieRepository.GetById(id);
         Gebruiker gebruiker = _gebruikerRepository.GetByGebruikersnaam(User.Identity.Name);
         return(RedirectToAction(nameof(AanwezighedenRegistrerenBarcode), new { id }));
     }
     catch (Exception)
     {
         TempData["error"] = $"Er is iets misgelopen, de sessie kan niet getoond worden.";
     }
     return(RedirectToAction(nameof(Index)));
 }
        /// <summary>
        ///     Wijzigt de Groepen in de Sessie
        /// </summary>
        /// <param name="sessieId">Id van de Sessie waarvoor de Groepen moeten gewijzigd worden</param>
        /// <param name="behaviourId">0: Blokkeren, 1: Deblokkeren, 2: Ontgrendelen</param>
        /// <param name="groepId">Id van de te wijzigen Groep (of 0 voor alle Groepen)</param>
        /// <returns></returns>
        public IActionResult WijzigGroepen(int sessieId, int behaviourId, int groepId = 0)
        {
            Sessie sessie = _sessieRepository.GetById(sessieId);

            if (sessie == null)
            {
                return(NotFound());
            }

            sessie.WijzigGroepen(behaviourId, groepId);
            _sessieRepository.SaveChanges();

            return(RedirectToAction(nameof(SelecteerSessie), new { sessieId }));
        }
        /// <summary>
        ///     Activeert de sessie waarvan het detail werd weergegeven.
        /// </summary>
        /// <param name="sessieId">Id van de te activeren Sessie</param>
        /// <returns>
        ///     RedirectToAction BeheerSessies
        ///     Indien er geen Sessie wordt gevonden met het meegegeven id wordt er een
        ///     NotFoundResult teruggeven.
        /// </returns>
        public IActionResult ActiveerSessie(int sessieId)
        {
            Sessie sessie = _sessieRepository.GetById(sessieId);

            if (sessie == null)
            {
                return(NotFound());
            }

            sessie.ActiveerSessie();
            _sessieRepository.SaveChanges();
            TempData["message"] = "Sessie is succesvol geactiveerd.";
            return(RedirectToAction(nameof(SelecteerSessie), new { sessieId }));
        }
Example #22
0
        public IEnumerable <Sessie> GetAll()
        {
            //return _sessies.ToList();
            Sessie sessie1 = new Sessie("Wiskunde", "Moeilijk", new DateTime(1862, 12, 19), true, true);
            Sessie sessie2 = new Sessie("Aardrijkskunde", "Makkelijk", new DateTime(1862, 12, 19), true, true);

            List <Sessie> sessies = new List <Sessie>();

            sessies.Add(sessie1);
            sessies.Add(sessie2);


            return(sessies);
        }
        public IActionResult MeldAanVoorSessie(Gebruiker gebruiker, int sessieId, string barcode)
        {
            // de entities moeten getracked worden voor het updaten van de db
            Sessie    trackedSessie    = _sessieRepository.GetById(sessieId);
            Gebruiker trackedGebruiker = _gebruikerRepository.GetByGebruikersnaam(gebruiker.Gebruikersnaam);

            if (barcode == null)
            {
                TempData["error"] = "De gebruiker bestaat niet";
                return(RedirectToAction(nameof(geOpendeSessie)));
            }

            if (trackedSessie == null)               // De sessie bestaat niet
            {
                TempData["error"] = "De sessie bestaat niet";
                return(RedirectToAction(nameof(Index)));
            }

            Gebruiker aanTeMeldenGebruiker = null;

            Regex gebregex = new Regex("[0-9]{6}[a-zA-Z]{2}"); // regex voor een gebruikersnaam
            Regex barregex = new Regex("[0-9]{13}");           // regex voor een barcode

            if (gebregex.IsMatch(barcode))                     // het is een gebruikersnaam
            {
                aanTeMeldenGebruiker = _gebruikerRepository.GetByGebruikersnaam(barcode);
            }
            else if (barregex.IsMatch(barcode))               // het is een barcode
            {
                aanTeMeldenGebruiker = _gebruikerRepository.GetByBarcode(long.Parse(barcode));
            }

            if (aanTeMeldenGebruiker == null)
            {
                TempData["error"] = "De gebruiker bestaat niet";
                return(RedirectToAction(nameof(geOpendeSessie)));
            }

            try {
                aanTeMeldenGebruiker.ZetAanwezigVoorSessie(trackedSessie);
                // dit is om op te slaan in de db
                _sessieRepository.SaveChanges();
                TempData["message"] = $"Aanmelden voor sessie '{trackedSessie.Titel}' succesvol!";
                return(RedirectToAction(nameof(geOpendeSessie)));
            }
            catch (Exception e) {
                TempData["error"] = e.Message;
                return(RedirectToAction(nameof(geOpendeSessie)));
            }
        }
Example #24
0
        /// <summary>
        /// Controleert of de Gebruiker aanwezig was op een sessie
        /// </summary>
        /// <param name="sessie">Sessie Object</param>
        /// <returns>bool aanwezig</returns>
        public bool Aanwezig(Sessie sessie)
        {
            bool aanwezig = false;

            foreach (GebruikerSessie gebruikerSessie in GebruikerSessies)
            {
                if (gebruikerSessie.Sessie.Equals(sessie) && gebruikerSessie.Aanwezig)
                {
                    aanwezig = true;
                    break;
                }
            }
            return(aanwezig);
        }
Example #25
0
        public IHttpActionResult DeleteSessie(int id)
        {
            Sessie sessie = db.Sessies.Find(id);

            if (sessie == null)
            {
                return(NotFound());
            }

            db.Sessies.Remove(sessie);
            db.SaveChanges();

            return(Ok(sessie));
        }
Example #26
0
        public void Get_Teams_Sessie_NewCreated()
        {
            //Arrange
            var newSessie = new Sessie()
            {
                StartTijd = DateTime.Now,
                Teams     = new List <Team>()
                {
                    new Team()
                    {
                        TeamNaam = "Jonas"
                    },
                    new Team()
                    {
                        TeamNaam = "Viktor"
                    },
                    new Team()
                    {
                        TeamNaam = "Joren"
                    },
                }
            };

            var sessieMock = new Mock <ISessionRepository>();
            var teamMock   = new Mock <ITeamRepository>();
            var puzzelMock = new Mock <IPuzzelRepository>();

            sessieMock.Setup(s => s.AddSessie(It.IsAny <Sessie>())).Returns((Sessie newS) => {
                newS.Id   = 5;
                newS.Code = "12";
                return(newS);
            });
            sessieMock.Setup(s => s.GetSessies()).Returns(() => {
                var sessies = _fakeSessieRepo.GetSessies();
                sessies.Add(newSessie);
                return(sessies);
            });
            puzzelMock.Setup(p => p.GetPuzzels()).Returns(_fakePuzzelRepo.GetPuzzels());
            var sessie = new SessieService(sessieMock.Object, teamMock.Object, puzzelMock.Object);



            // Act
            var resultId = sessie.CreateSessie(newSessie);
            var result   = sessie.GetTeamsBySessie(resultId);

            // Assert
            Assert.Equal(result, newSessie.Teams);
        }
Example #27
0
 public SessieTest()
 {
     _gebruiker = new Gebruiker()
     {
         GebruikerSessies = new List <GebruikerSessie>(),
         StatusGebruiker  = StatusGebruiker.Actief
     };
     _sessie = new Sessie()
     {
         GebruikerSessies = new List <GebruikerSessie>(),
         StartDatum       = DateTime.Now.AddMonths(1),
         Capaciteit       = 10,
         FeedbackList     = new List <Feedback>()
     };
 }
Example #28
0
 //[HttpPost]
 public IActionResult SessieSluiten(int id)
 {
     try
     {
         Sessie s = _sessieRepository.GetById(id);
         s.setSessieState("gesloten");
         _sessieRepository.SaveChanges();
         TempData["message"] = $"De sessie {s.Titel} is correct gesloten";
     }
     catch
     {
         TempData["error"] = $"Er is iets misgelopen, de sessie is niet gesloten geweest";
     }
     return(RedirectToAction(nameof(Index)));
 }
Example #29
0
        public IActionResult DetailsExtra(int id, Gebruiker gebruiker)
        {
            Sessie sessie = _sessieRepository.GetById(id);

            if (sessie != null)
            {
                ViewData["IsIngeschreven"] = false;
                ViewData["IsAanwezig"]     = false;
                var viewModel = new SessieDetailsViewModel(sessie);
                ViewData["IsDetails"]           = false;
                ViewData["IsVerantwoordelijke"] = (int)gebruiker.Type > 2;
                return(View(nameof(Details), viewModel));
            }
            TempData["error"] = "Er is iets mis gegaan, we konden de sessie niet ophalen.";
            return(RedirectToAction("OpenzettenIndex"));
        }
Example #30
0
 public void SluitVoorRegistratie(Sessie sessie)
 {
     if (GeorganiseerdeSessies.Contains(sessie))
     {
         try {
             sessie.SluitVoorRegistratie();
         }
         catch (InvalidOperationException e) {
             throw new InvalidOperationException(e.Message);
         }
     }
     else
     {
         throw new InvalidOperationException("Sessie niet gevonden");
     }
 }