コード例 #1
0
        public IActionResult DetailFeedbackGeven(Gebruiker gebruiker, int id, SessieDetailsViewModel sessieDetailsViewModel)
        {
            try
            {
                Sessie sessie = _sessieRepository.GetByID(id);
                sessie.FeedbackGeven(sessieDetailsViewModel.FeedbackContent, gebruiker, sessieDetailsViewModel.Score);
                _sessieRepository.SaveChanges();

                List <int> scores = new List <int>()
                {
                    0, 1, 2, 3, 4, 5
                };
                SelectList scoresSelectList = new SelectList(scores);
                ViewData["scores"]  = scoresSelectList;
                TempData["message"] = "Feedback is toegevoegd!";
            }
            catch (FeedbackException e)
            {
                TempData["error"] = e.Message;
            }
            catch (AanwezigException e)
            {
                TempData["error"] = e.Message;
            }
            catch (GeenActieveGebruikerException e)
            {
                TempData["error"] = e.Message;
            }
            catch (Exception e)
            {
                TempData["error"] = "Er liep iets fout bij het feedback geven...";
            }
            return(RedirectToAction("Detail", "Sessie", new { gebruiker, id }));
        }
コード例 #2
0
        public ActionResult Details(int id, Gebruiker gebruiker)
        {
            Sessie sessie = _sessieRepository.GetById(id);

            ViewData["GebruikerId"] = gebruiker.UserName;
            if (sessie != null)
            {
                bool ingeschreven = sessie.GebruikerIsIngeschreven(gebruiker);
                ViewData["IsIngeschreven"] = ingeschreven;
                if (ingeschreven)
                {
                    ViewData["IsAanwezig"] = sessie.GeefSessieGebruiker(gebruiker).Aanwezig;
                }
                else
                {
                    ViewData["IsAanwezig"] = false;
                }
                ViewData["IsVerantwoordelijke"] = (int)gebruiker.Type > 2;
                var viewModel = new SessieDetailsViewModel(sessie);
                ViewData["IsDetails"] = true;
                return(View(viewModel));
            }
            TempData["error"] = "Er is iets mis gegaan, we konden de sessie niet ophalen.";
            return(RedirectToAction(nameof(Index)));
        }
コード例 #3
0
        public void Details_LegalId_GeeftSessieTerug()
        {
            _mockSessieRepository.Setup(s => s.GetById(1)).Returns(_dummyContext.Sessie1);
            var result = Assert.IsType <ViewResult>(_sessieController.Details(1, _gebruiker));
            SessieDetailsViewModel sdvm = Assert.IsType <SessieDetailsViewModel>(result.Model);
            var ingeschreven            = Assert.IsType <bool>(result.ViewData["IsIngeschreven"]);

            if (ingeschreven)
            {
                var aanwezig = Assert.IsType <bool>(result.ViewData["IsAanwezig"]);
            }
        }
コード例 #4
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"));
        }
コード例 #5
0
        public SessieControllerTest()
        {
            _context                  = new DummyDbContext();
            _feedbackRepository       = new Mock <IFeedbackRepository>();
            _gebruikerRepository      = new Mock <IGebruikerRepository>();
            _inschrijvingRepository   = new Mock <IInschrijvingRepository>();
            _sessiekalenderRepository = new Mock <ISessieKalenderRepository>();
            _sessieRepository         = new Mock <ISessieRepository>();

            _controller = new SessieController(_sessieRepository.Object, _gebruikerRepository.Object, _inschrijvingRepository.Object, _feedbackRepository.Object, _userManager)
            {
                TempData = new Mock <ITempDataDictionary>().Object
            };
            model = new SessieDetailsViewModel(_context.sessie1)
            {
                Beschrijving = "Linux sucks",
                Datum        = _context.dag.ToString(),
                Id           = 3,
                Titel        = "Why Linux sucks",
                OpenPlaatsen = 20
            };
        }
コード例 #6
0
 public void DetailsTest_KanSessieVinden()
 {
     _mockSessieRepository.Setup(s => s.GetById(1)).Returns(_sessie);
     var result = Assert.IsType <ViewResult>(_sessieController.Details(1, _gebruiker));
     SessieDetailsViewModel sessieDetails = Assert.IsType <SessieDetailsViewModel>(result.Model);
 }
コード例 #7
0
        public IActionResult DetailInschrijvenUitschrijven(Gebruiker gebruiker, int id, SessieDetailsViewModel sessieDetailsViewModel)
        {
            Sessie sessie = _sessieRepository.GetByID(id);

            try
            {
                bool succes = false;
                foreach (GebruikerSessie gs in sessie.GebruikerSessies)
                {
                    if (gs.Gebruiker.Equals(gebruiker))
                    {
                        sessie.SchrijfUit(gebruiker);
                        succes = true;
                        TempData["message"] = "Uitschrijven is gelukt";
                        _sessieRepository.SaveChanges();
                        _gebruikerRepository.SaveChanges();
                        break;
                    }
                }
                if (!succes)
                {
                    sessie.SchrijfIn(gebruiker);
                    TempData["message"] = "Inschrijven is gelukt";
                    _sessieRepository.SaveChanges();
                    _gebruikerRepository.SaveChanges();
                }
            }
            catch (ArgumentException e)
            {
                TempData["error"] = e.Message;
            }
            catch (SchrijfInSchrijfUitException e)
            {
                TempData["error"] = e.Message;
            }
            catch (GeenActieveGebruikerException e)
            {
                TempData["error"] = e.Message;
            }
            return(RedirectToAction("Index", "Sessie", new { @maandNr = sessie.StartDatum.Month }));
        }