예제 #1
0
        public void TestNieuweWerkgever_Succes_RedirectsToIndexContactPersoon()
        {
            _departementRepository.Setup(r => r.GetByName(It.IsAny <string>())).Returns(_dbContext.Aldi);

            WerkgeverViewModel model = new WerkgeverViewModel
            {
                AantalWerkuren    = "" + 35,
                Bus               = "",
                Departement       = "HR",
                Gemeente          = "Wieze",
                Postcode          = 9280,
                Nummer            = 42,
                Straat            = "Wolvenstraat",
                PatronaleBijdrage = "" + 35,
                Naam              = "Thomas NV"
            };

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

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

            _departementRepository.Verify(r => r.Add(It.IsAny <Departement>()), Times.Once);
            _departementRepository.Verify(r => r.Save(), Times.Once);

            _analyseRepository.Verify(r => r.Save(), Times.Once);
        }
        public IActionResult NieuweWerkgever()
        {
            // model aanmaken
            WerkgeverViewModel model = new WerkgeverViewModel {
                PatronaleBijdrage = "35"
            };

            // view returnen
            return(View(model));
        }
예제 #3
0
        public void TestNieuwDepartementPOST_Succes()
        {
            _werkgeverRepository.Setup(d => d.GetById(It.IsAny <int>()))
            .Returns(_dbContext.Aldi.Werkgever);

            WerkgeverViewModel model = new WerkgeverViewModel(_dbContext.Aldi);

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

            Assert.Equal("Index", result?.ActionName);
            Assert.Equal("Resultaat", result?.ControllerName);
        }
예제 #4
0
        public void TestNieuweWerkgever_BestaandDepartement_ReturnsViewMetZelfdeModel()
        {
            _departementRepository.Setup(r => r.GetByName(It.IsAny <string>())).Returns(_dbContext.Aldi);

            WerkgeverViewModel model = new WerkgeverViewModel(_dbContext.Aldi);

            var result      = _controller.NieuweWerkgever(_analyse.Object, model) as ViewResult;
            var resultModel = result?.Model as WerkgeverViewModel;

            Assert.Equal(model, resultModel);
            Assert.Equal("NieuweWerkgever", result?.ViewName);
        }
        public IActionResult Index(Analyse analyse)
        {
            if (analyse.Departement == null || analyse.Departement.Naam.Length == 0)
            {
                // er is nog geen werkgever, vragen om een werkgever te selecteren
                return(RedirectToAction("SelecteerWerkgever"));
            }

            WerkgeverViewModel model = new WerkgeverViewModel(analyse.Departement);

            return(View(model));
        }
예제 #6
0
        public void TestOpslaan_Succes()
        {
            Analyse analyse = new Analyse {
                Departement = _dbContext.Aldi
            };

            _departementRepository.Setup(d => d.GetById(It.IsAny <int>())).Returns(_dbContext.Aldi);

            WerkgeverViewModel model = new WerkgeverViewModel(_dbContext.Aldi);

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

            Assert.Equal("Index", result?.ActionName);
            Assert.Equal(_dbContext.Aldi, analyse.Departement);
        }
예제 #7
0
        public void TestOpslaan_RepositoryGooitException_ReturnsViewWithModel()
        {
            _departementRepository.Setup(d => d.GetById(It.IsAny <int>())).Throws(new Exception());

            WerkgeverViewModel model = new WerkgeverViewModel(_dbContext.Aldi);

            var result      = _controller.Opslaan(_analyse.Object, model) as ViewResult;
            var resultModel = result?.Model as WerkgeverViewModel;

            Assert.Equal(model, resultModel);
            Assert.Equal("Index", result?.ViewName);

            _exceptionLogRepository.Verify(r => r.Add(It.IsAny <ExceptionLog>()), Times.Once);
            _exceptionLogRepository.Verify(r => r.Save(), Times.Once);
        }
예제 #8
0
        public void TestNieuwDepartementPOST_BestaandDepartement_ReturnsView()
        {
            _departementRepository.Setup(d => d.GetByName(It.IsAny <string>()))
            .Returns(_dbContext.Aldi);

            WerkgeverViewModel model = new WerkgeverViewModel(_dbContext.Aldi);

            var result      = _controller.NieuwDepartement(_analyse.Object, model) as ViewResult;
            var resultModel = result?.Model as WerkgeverViewModel;

            Assert.Equal(typeof(WerkgeverViewModel), resultModel?.GetType());
            Assert.Equal(0, resultModel?.WerkgeverId);
            Assert.Equal("ALDI", resultModel?.Naam);
            Assert.Equal("NieuwDepartement", result?.ViewName);
        }
예제 #9
0
        public void TestNieuweWerkgever_RepositoryGooitException_MethodeFaaltNiet()
        {
            _departementRepository.Setup(r => r.Save()).Throws(new Exception());

            WerkgeverViewModel model = new WerkgeverViewModel();

            var result      = _controller.NieuweWerkgever(_analyse.Object, model) as ViewResult;
            var resultModel = result?.Model as WerkgeverViewModel;

            Assert.Equal(model, resultModel);
            Assert.Equal("NieuweWerkgever", result?.ViewName);

            _exceptionLogRepository.Verify(r => r.Add(It.IsAny <ExceptionLog>()), Times.Once);
            _exceptionLogRepository.Verify(r => r.Save(), Times.Once);
        }
        public IActionResult NieuwDepartement(int id)
        {
            try
            {
                // id is het id van de werkgever
                // werkgever ophalen
                Werkgever werkgever = _werkgeverRepository.GetById(id);

                // viewmodel aanmaken
                WerkgeverViewModel model = new WerkgeverViewModel(werkgever);

                return(View(model));
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "NieuwDepartement -- GET --"));
                _exceptionLogRepository.Save();
                TempData["Error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
            }

            return(RedirectToAction("BestaandeWerkgever"));
        }
        public IActionResult Opslaan(Analyse analyse, WerkgeverViewModel model)
        {
            try
            {
                Departement      departement = _departementRepository.GetById(model.DepartementId);
                Werkgever        werkgever   = departement.Werkgever;
                DecimalConverter dc          = new DecimalConverter();
                analyse = _analyseRepository.GetByIdAll(analyse.AnalyseId);
                // werkgever instellen
                Werkgever nieuweWerkgever = new Werkgever(model.Naam, model.Straat, model.Nummer ?? 0, model.Bus,
                                                          model.Postcode, model.Gemeente, dc.ConvertToDecimal(model.AantalWerkuren), dc.ConvertToDecimal(model.PatronaleBijdrage));

                // departement instellen
                if (departement != null && !string.Equals(model.Departement, departement.Naam))
                {
                    // de jobcoach heeft de departementsnaam gewijzigd,
                    // dus we maken een nieuw departement aan
                    departement = new Departement(model.Departement)
                    {
                        Werkgever = werkgever
                    };
                    werkgever.Departementen.Add(departement);
                }

                if (werkgever != null && !nieuweWerkgever.Equals(werkgever))
                {
                    werkgever.Departementen.Remove(departement);
                    departement = new Departement(model.Departement)
                    {
                        Werkgever = nieuweWerkgever
                    };
                    nieuweWerkgever.Departementen.Add(departement);
                }
                else
                {
                    departement.Werkgever = werkgever;
                }

                // instellen in de analyse
                analyse.Departement = departement;

                // alles opslaan
                _departementRepository.Save();
                _analyseRepository.Save();

                TempData["message"] = "De werkgever is succesvol opgeslaan";

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "Opslaan "));
                    _exceptionLogRepository.Save();
                    TempData["error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
                }
            }

            return(View("Index", model));
        }
        public IActionResult NieuwDepartement(Analyse analyse, WerkgeverViewModel model)
        {
            try
            {
                Departement      departement = _departementRepository.GetByName(model.Departement);
                DecimalConverter dc          = new DecimalConverter();
                Werkgever        werkgever   = new Werkgever
                {  // nieuwe werkgever aanmaken
                    Naam              = model.Naam,
                    Postcode          = model.Postcode,
                    Gemeente          = model.Gemeente,
                    AantalWerkuren    = dc.ConvertToDecimal(model.AantalWerkuren),
                    PatronaleBijdrage = dc.ConvertToDecimal(model.PatronaleBijdrage),
                    // straat en nummer zijn niet verplicht,
                    // maar als ze ingevuld zijn, instellen in de werkgever
                    Straat = model.Straat,
                    Nummer = model.Nummer,
                    Bus    = model.Bus
                };

                bool result = ControleerBestaandDepartement(departement, werkgever);

                if (result)
                {
                    TempData["Error"] = "De werkgever " + model.Naam + " met als departement " + model.Departement + " bestaat al.";

                    // terugsturen naar het formulier
                    return(View("NieuwDepartement", model));
                }

                departement = new Departement(model.Departement);
                werkgever.Departementen.Add(departement);

                werkgever = _werkgeverRepository.GetById(model.WerkgeverId);

                departement.Werkgever = werkgever;

                // alles instellen
                _departementRepository.Add(departement);
                analyse.Departement = departement;

                // alles opslaan
                _departementRepository.Save();
                _analyseRepository.Save();

                TempData["message"] = "Het nieuwe departement is succesvol toegevoegd";

                return(RedirectToAction("Index", "ContactPersoon"));
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "NieuwDepartement -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
                }
            }

            return(View(model));
        }