예제 #1
0
        public void TestVoegToe_ModelError_RedirectsToIndex()
        {
            _controller.ModelState.AddModelError("", "Model error");
            BegeleidingsKostViewModel model = new BegeleidingsKostViewModel();

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

            Assert.Equal("Index", result?.ActionName);
        }
예제 #2
0
        public void TestVoegToe_RepositoryGooitException_ReturnsView()
        {
            _analyseRepository.Setup(r => r.Save()).Throws(new Exception());
            BegeleidingsKostViewModel model = new BegeleidingsKostViewModel();

            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 TestVoegToe_Succes_RedirectsToIndex()
        {
            BegeleidingsKostViewModel model = new BegeleidingsKostViewModel()
            {
                Id    = 1,
                Type  = Type.Kost,
                Soort = Soort.BegeleidingsKost,
                BrutoMaandloonBegeleider = "" + 3240,
                Uren = 30
            };
            var result = _controller.VoegToe(_analyse, model) as RedirectToActionResult;

            Assert.Equal("Index", result?.ActionName);
            Assert.Equal(4, _analyse.BegeleidingsKosten.Count);
        }
예제 #4
0
        public void TestBewerk_KostNull_RedirectsToIndex()
        {
            BegeleidingsKostViewModel model = new BegeleidingsKostViewModel()
            {
                Id    = -1,
                Type  = Type.Kost,
                Soort = Soort.BegeleidingsKost,
                BrutoMaandloonBegeleider = "" + 3240,
                Uren = 30
            };

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

            Assert.Equal("Index", result?.ActionName);
        }
예제 #5
0
        public IActionResult VoegToe(Analyse analyse, BegeleidingsKostViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.BegeleidingsKost);
                    DecimalConverter dc   = new DecimalConverter();
                    BegeleidingsKost kost = new BegeleidingsKost
                    {
                        Type  = model.Type,
                        Soort = model.Soort,
                        Uren  = model.Uren,
                        BrutoMaandloonBegeleider = dc.ConvertToDecimal(model.BrutoMaandloonBegeleider)
                    };

                    analyse.BegeleidingsKosten.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, "BegeleidingsKost", "VoegToe -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
예제 #6
0
        public IActionResult Bewerk(Analyse analyse, BegeleidingsKostViewModel model)
        {// id is het id van de baat die moet bewerkt worden
            try
            {
                analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.BegeleidingsKost);
                BegeleidingsKost kost = KostOfBaatExtensions.GetBy(analyse.BegeleidingsKosten, model.Id);
                DecimalConverter dc   = new DecimalConverter();
                if (ModelState.IsValid && kost != null)
                {
                    kost.Id    = model.Id;
                    kost.Type  = model.Type;
                    kost.Soort = model.Soort;
                    kost.Uren  = model.Uren;
                    kost.BrutoMaandloonBegeleider = dc.ConvertToDecimal(model.BrutoMaandloonBegeleider);

                    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, "BegeleidingsKost", "Bewerk -- 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 baat die moet bewerkt wordens
            try
            {
                analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.BegeleidingsKost);
                BegeleidingsKost          kost  = KostOfBaatExtensions.GetBy(analyse.BegeleidingsKosten, id);
                BegeleidingsKostViewModel model = new BegeleidingsKostViewModel();
                DecimalConverter          dc    = new DecimalConverter();
                if (kost != null)
                {
                    // parameters voor formulier instellen
                    model.Id    = id;
                    model.Type  = kost.Type;
                    model.Soort = kost.Soort;
                    model.Uren  = kost.Uren;
                    model.BrutoMaandloonBegeleider = dc.ConvertToString(kost.BrutoMaandloonBegeleider);

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

            return(RedirectToAction("Index"));
        }
예제 #8
0
        public IActionResult VoegToe()
        {
            BegeleidingsKostViewModel model = new BegeleidingsKostViewModel();

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