コード例 #1
0
        public void TestVoegToe_ModelError_RedirectsToIndex()
        {
            _controller.ModelState.AddModelError("", "Model error");
            ExtraKostViewModel model = new ExtraKostViewModel();

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

            Assert.Equal("Index", result?.ActionName);
        }
コード例 #2
0
        public void TestVoegToe_RepositoryGooitException_ReturnsView()
        {
            ExtraKostViewModel model = new ExtraKostViewModel();

            var result = _controller.VoegToe(_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);
        }
コード例 #3
0
        public void TestBewerk_RepoGooitException_RedirectsToIndex()
        {
            _analyseRepository.Setup(r => r.Save()).Throws(new Exception());

            ExtraKostViewModel model = new ExtraKostViewModel {
                Id = 1
            };
            var result = _controller.Bewerk(_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);
        }
コード例 #4
0
        public void TestVoegToe_Succes_RedirectsToIndex()
        {
            ExtraKostViewModel model = new ExtraKostViewModel
            {
                Id           = 1,
                Type         = Type.Kost,
                Soort        = Soort.ExtraKost,
                Beschrijving = "test",
                Bedrag       = "" + 9208
            };
            var result = _controller.VoegToe(_analyse, model) as RedirectToActionResult;

            Assert.Equal("Index", result?.ActionName);
            Assert.Equal(4, _analyse.ExtraKosten.Count);
        }
コード例 #5
0
        public void TestBewerk_KostNull_RedirectsToIndex()
        {
            ExtraKostViewModel model = new ExtraKostViewModel
            {
                Id           = -1,
                Type         = Type.Kost,
                Soort        = Soort.ExtraKost,
                Beschrijving = "test",
                Bedrag       = "" + 9208
            };

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

            Assert.Equal("Index", result?.ActionName);
        }
コード例 #6
0
        public IActionResult VoegToe(Analyse analyse, ExtraKostViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.ExtraKost);
                    DecimalConverter dc = new DecimalConverter();
                    var kost            = new ExtraKost
                    {
                        Type         = model.Type,
                        Soort        = model.Soort,
                        Beschrijving = model.Beschrijving,
                        Bedrag       = dc.ConvertToDecimal(model.Bedrag)
                    };

                    analyse.ExtraKosten.Add(kost);
                    analyse.DatumLaatsteAanpassing = DateTime.Now;
                    _analyseRepository.Save();

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

            return(RedirectToAction("Index"));
        }
コード例 #7
0
        public IActionResult Bewerk(Analyse analyse, int id)
        {
            // id is het id van de kost die moet bewerkt wordens
            try
            {
                analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.ExtraKost);
                var kost            = KostOfBaatExtensions.GetBy(analyse.ExtraKosten, id);
                var model           = new ExtraKostViewModel();
                DecimalConverter dc = new DecimalConverter();
                // parameters voor formulier instellen
                if (kost != null)
                {
                    model.Id           = id;
                    model.Type         = kost.Type;
                    model.Soort        = kost.Soort;
                    model.Beschrijving = kost.Beschrijving;
                    model.Bedrag       = dc.ConvertToString(kost.Bedrag);

                    return(PartialView("_Formulier", model));
                }
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "ExtraKost", "Bewerk -- GET --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
コード例 #8
0
        public IActionResult Bewerk(Analyse analyse, ExtraKostViewModel model)
        {
            try
            {
                analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.ExtraKost);
                var kost            = KostOfBaatExtensions.GetBy(analyse.ExtraKosten, model.Id);
                DecimalConverter dc = new DecimalConverter();
                if (ModelState.IsValid && kost != null)
                {
                    kost.Id           = model.Id;
                    kost.Type         = model.Type;
                    kost.Soort        = model.Soort;
                    kost.Beschrijving = model.Beschrijving;
                    kost.Bedrag       = dc.ConvertToDecimal(model.Bedrag);

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

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

            return(RedirectToAction("Index"));
        }
コード例 #9
0
        public IActionResult VoegToe()
        {
            var model = new ExtraKostViewModel();

            return(PartialView("_Formulier", model));
        }