public void HttpPostEditInSession_ValidModelState_EditsLidAndPersists()
        {
            _sessie.VeranderHuidigLid(lid);
            _lidRepository.Setup(r => r.GetById(lid.Id)).Returns(lid);
            var vm = new LidViewModelSession()
            {
                Postcode    = lid.PostCode,
                Busnummer   = lid.Busnummer,
                Email       = lid.Email,
                EmailOuders = lid.EmailOuders,
                GSM         = lid.GSM,
                Huisnummer  = lid.Huisnummer,
                Stad        = lid.Stad,
                StraatNaam  = lid.StraatNaam,
                Telefoon    = lid.Telefoon,
            };

            var result = _controller.EditInSession(vm, _sessie) as RedirectToActionResult;

            Assert.Equal("Oefening", result?.ControllerName);
            Assert.Equal("GeefOefeningenLid", result?.ActionName);
            Assert.Equal("*****@*****.**", lid.Email);
            Assert.Equal(lid, _sessie.huidigLid);
            _lidRepository.Verify(m => m.SaveChanges(), Times.Once);
        }
        public IActionResult EditInSession(LidViewModelSession lidViewModelSession, SessionState sessie)
        {
            if (lidViewModelSession == null)
            {
                return(View(nameof(EditInSession), lidViewModelSession));
            }
            if (sessie == null)
            {
                return(View(nameof(EditInSession), lidViewModelSession));
            }
            if (sessie.huidigLid == null)
            {
                return(View(nameof(EditInSession), lidViewModelSession));
            }

            Lid lid = _lidRepository.GetById(sessie.huidigLid.Id);

            if (ModelState.IsValid)
            {
                try {
                    lid.MapLidViewModelToLidInSession(lidViewModelSession, lid);
                    _lidRepository.SaveChanges();
                    sessie.VeranderHuidigLid(lid);
                } catch (Exception e) {
                    ModelState.AddModelError("", e.Message);
                    return(View(nameof(EditInSession), lidViewModelSession));
                }
                return(RedirectToAction("GeefOefeningenLid", "Oefening", new { lidId = lid.Id }));
            }

            return(View(nameof(EditInSession), lidViewModelSession));
        }
예제 #3
0
 public void MapLidViewModelToLidInSession(LidViewModelSession LidViewModelInSession, Lid lid)
 {
     if (lid == null || LidViewModelInSession == null)
     {
         throw new ArgumentException("mogen beide niet null zijn");
     }
     lid.Email       = LidViewModelInSession.Email;
     lid.GSM         = LidViewModelInSession.GSM;
     lid.Telefoon    = LidViewModelInSession.Telefoon;
     lid.Busnummer   = LidViewModelInSession.Busnummer;
     lid.Huisnummer  = LidViewModelInSession.Huisnummer;
     lid.EmailOuders = LidViewModelInSession.EmailOuders;
     lid.PostCode    = LidViewModelInSession.Postcode;
     lid.Stad        = LidViewModelInSession.Stad;
     lid.StraatNaam  = LidViewModelInSession.StraatNaam;
 }
        public void HttpGetEditInSession_ReturnsEditViewWithLidViewModelSession()
        {
            _sessie.VeranderHuidigLid(lid);

            var result = _controller.EditInSession(_sessie) as ViewResult;
            LidViewModelSession lvm = (LidViewModelSession)result?.Model;

            Assert.Equal(_model.Busnummer, lvm.Busnummer);
            Assert.Equal(_model.Email, lvm.Email);
            Assert.Equal(_model.EmailOuders, lvm.EmailOuders);
            Assert.Equal(_model.GSM, lvm.GSM);
            Assert.Equal(_model.Huisnummer, lvm.Huisnummer);
            Assert.Equal(_model.Id, lvm.Id);
            Assert.Equal(_model.Postcode, lvm.Postcode);
            Assert.Equal(_model.Stad, lvm.Stad);
            Assert.Equal(_model.StraatNaam, lvm.StraatNaam);
            Assert.Equal(_model.Telefoon, lvm.Telefoon);
        }
        public LidControllerTest()
        {
            var httpcontext = new DefaultHttpContext();
            var tempData    = new TempDataDictionary(httpcontext, Mock.Of <ITempDataProvider>());

            _lidRepository = new Mock <ILidRepository>();
            _controller    = new LidController(_lidRepository.Object)
            {
                TempData = tempData
            };
            _context     = new DummyDbContext();
            _model       = new LidViewModel(_context.Lid1);
            _modelSessie = new LidViewModelSession(_context.Lid1);
            _sessie      = new SessionState();
            lid          = _context.Lid1;

            vm = new LidViewModel()
            {
                Achternaam           = "gertjan",
                Voornaam             = "peer",
                Land                 = lid.Land,
                Lessen               = lid.Lessen,
                Postcode             = lid.PostCode,
                Busnummer            = lid.Busnummer,
                Email                = lid.Email,
                EmailOuders          = lid.EmailOuders,
                GeboorteDatum        = lid.GeboorteDatum,
                Geslacht             = lid.Geslacht,
                Graad                = lid.Graad,
                GSM                  = lid.GSM,
                Huisnummer           = lid.Huisnummer,
                Rijksregisternummer1 = lid.Rijksregisternummer.Substring(0, 2),
                Rijksregisternummer2 = lid.Rijksregisternummer.Substring(3, 2),
                Rijksregisternummer3 = lid.Rijksregisternummer.Substring(6, 2),
                Rijksregisternummer4 = lid.Rijksregisternummer.Substring(9, 3),
                Rijksregisternummer5 = lid.Rijksregisternummer.Substring(13, 2),
                Roltype              = lid.Roltype,
                Stad                 = lid.Stad,
                StraatNaam           = lid.StraatNaam,
                Telefoon             = lid.Telefoon,
                Wachtwoord           = lid.Wachtwoord
            };
        }