Beispiel #1
0
        public void TestOpslaan_RepoGooitException_RedirectsToIndex()
        {
            _analyseRepository.Setup(r => r.Save()).Throws(new Exception());
            ExtraProductiviteitViewModel model = new ExtraProductiviteitViewModel();

            var result = _controller.Opslaan(_analyse, model) as RedirectToActionResult;

            Assert.Equal("Index", result?.ActionName);

            _exceptionLogRepository.Verify(r => r.Add(It.IsAny <ExceptionLog>()), Times.Once);
            _exceptionLogRepository.Verify(r => r.Save(), Times.Once);
        }
Beispiel #2
0
        public void TestOpslaan_RedirectsToIndex()
        {
            ExtraProductiviteitViewModel model = new ExtraProductiviteitViewModel
            {
                Bedrag = "" + 25000
            };

            var result = _controller.Opslaan(_analyse, model) as RedirectToActionResult;

            Assert.Equal("Index", result?.ActionName);

            var expected = Convert.ToDecimal(model.Bedrag);
            var actual   = Convert.ToDecimal(_analyse.ExtraProductiviteit.Bedrag);

            Assert.Equal(expected, actual);
        }
        public IActionResult Opslaan(Analyse analyse, ExtraProductiviteitViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.ExtraProductiviteit);
                    DecimalConverter    dc   = new DecimalConverter();
                    ExtraProductiviteit baat = new ExtraProductiviteit
                    {
                        Type   = model.Type,
                        Soort  = model.Soort,
                        Bedrag = dc.ConvertToDecimal(model.Bedrag)
                    };

                    analyse.ExtraProductiviteit    = baat;
                    analyse.DatumLaatsteAanpassing = DateTime.Now;
                    _analyseRepository.Save();

                    TempData["message"] = Meldingen.OpslaanSuccesvolBaat;
                }
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "ExtraProductiviteit", "Opslaan -- GET --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }