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

            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());
            PersoneelsKostViewModel model = new PersoneelsKostViewModel {
                Id = 1, Bedrag = "" + 150
            };

            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()
        {
            PersoneelsKostViewModel model = new PersoneelsKostViewModel
            {
                Id           = 1,
                Type         = Type.Kost,
                Soort        = Soort.PersoneelsKost,
                Beschrijving = "test",
                Bedrag       = "" + 9208
            };
            var result = _controller.VoegToe(_analyse, model) as RedirectToActionResult;

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

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

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

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

            PlaatsTotaalInViewData(analyse);

            return(RedirectToAction("Index"));
        }
コード例 #6
0
        public IActionResult Bewerk(Analyse analyse, PersoneelsKostViewModel model)
        {
            try
            {
                analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.PersoneelsKost);
                PersoneelsKost   kost = KostOfBaatExtensions.GetBy(analyse.PersoneelsKosten, 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, "PersoneelsKost", "Bewerk -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            PlaatsTotaalInViewData(analyse);

            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.PersoneelsKost);
                PersoneelsKost kost = KostOfBaatExtensions.GetBy(analyse.PersoneelsKosten, id);

                PersoneelsKostViewModel model = new PersoneelsKostViewModel();

                DecimalConverter dc = new DecimalConverter();
                if (kost != null)
                {
                    // parameters voor formulier instellen
                    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, "PersoneelsKost", "Bewerk -- GET --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

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

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