public IActionResult NieuweWerkgever(Analyse analyse, WerkgeverViewModel model)
        {
            try
            {
                Departement departement = _departementRepository.GetByName(model.Departement);
                analyse = _analyseRepository.GetByIdAll(analyse.AnalyseId);
                DecimalConverter dc = new DecimalConverter();
                // de werkgever al aanmaken, zodat straks de controle kan gebeuren
                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
                werkgever.Straat = model.Straat;
                werkgever.Nummer = model.Nummer;
                werkgever.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("NieuweWerkgever", model));
                }

                // anders maken we een nieuw departement aan
                departement = new Departement(model.Departement)
                {
                    Werkgever = werkgever
                };

                werkgever.Departementen.Add(departement);

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

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

                TempData["message"] = "De werkgever 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", "NieuweWerkgever -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
                }
            }

            return(View("NieuweWerkgever", model));
        }