public IActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(NotFound());
            }


            //var voertuigMod = _context.Voertuigen
            //    .Include(v => v.Merk)
            //    .Include(v => v.MerkType)
            //    .Include(v => v.VoertuigCategorie)
            //    //.Include(v => v.Klant)
            //    //.Include(v => v.Faktuur)
            //    //.OrderBy(v => v.VoertuigArtikelNummer.Length)
            //    //.ThenBy(v => v.VoertuigArtikelNummer)
            //    .SingleOrDefault(m => m.VoertuigId == id);
            //if (voertuigMod == null)
            //{
            //    return NotFound();
            //}
            //ViewData["MerkId"] = new SelectList(_context.Merken, "MerkId", "MerkNaam");
            //ViewData["MerkTypeId"] = new SelectList(_context.Types, "MerkTypeId", "MerkTypeNaam");
            //ViewData["VoertuigCatId"] = new SelectList(_context.VoertuigCategorieen,"VoertuigCatId", "VoertuigCategorieNaam",voertuig.VoertuigCategorie);

            //return View(voertuig);

            var repo       = new VoertuigenRepository(_context);
            var voertuigED = repo.EditVoertuig(id);

            return(View(voertuigED));
        }
        public IActionResult Create([Bind("VoertuigArtikelNummer,VoertuigTitel,Chassisnummer,Prijs,Kleur,Brandstof,Kilometerstand," +
                                          "Bouwjaar,FiguurURL,Registratie,GarantieTijd,COTwee,Versnelling,CC,Vermogen,Deuren,Zitplaatsen," +
                                          "Binnenbekleding,Binnenkleur,Koetswerk, SelectedMerk, SelectedModel, SelectedCategorie, SelectedFaktuur, SelectedKlant")]  VoertuigEditViewModel voertuigCreated)
        {
            ;
            string VolRegistratie = voertuigCreated.Registratie;
            string last4Char      = VolRegistratie.Substring(VolRegistratie.Length - 4, 4);

            if (last4Char != voertuigCreated.Bouwjaar.ToString())
            {
                ModelState.AddModelError("bouwjaarValidationError",
                                         "Bouwjaar verschilt met Registratie");
            }

            VoertuigenRepository repo;


            if (ModelState.IsValid)
            {
                repo = new VoertuigenRepository(_context);
                bool saved = repo.SaveVoertuig(voertuigCreated);
                if (saved)
                {
                    TempData["SuccessMessage"] = $"Het voertuig {voertuigCreated.VoertuigArtikelNummer} is succesvol toegevoegd.";
                    return(RedirectToAction(nameof(Index)));
                }
            }
            repo            = new VoertuigenRepository(_context);
            voertuigCreated = repo.CreateVoertuig();

            return(View(voertuigCreated));
        }
Пример #3
0
        private ReferenceDataModel GetReferenceDataModel()
        {
            var resultPersoon          = PersonenRepository.GetAllOrdered(p => p.Naam);
            var resultVoertuig         = VoertuigenRepository.GetAllOrdered(v => v.NummerPlaat);
            var resultSoortKlacht      = KlachtSoortenRepository.GetAllOrdered(k => k.Soort);
            var resultOorzaak          = OorzakenRepository.GetAllOrdered(o => o.Code);
            var resultDetailCode       = DetailCodesRepository.GetAllOrdered(d => d.Code);
            var resultHoofdCode        = HoofdCodesRepository.GetAllOrdered(h => h.Code);
            var resultKlant            = KlantenRepository.GetAllOrdered(k => k.Naam);
            var resultQualityProcedure = QualityProceduresRepository.GetAllOrdered(q => q.Naam);
            var resultUnit             = UnitRepository.GetAllOrdered(u => u.Naam);
            var resultOorsprong        = OorsprongenRepository.GetAllOrdered(o => o.Naam);
            var resultAfdeling         = AfdelingenRepository.GetAllOrdered(a => a.Naam);
            var resultCa         = CasRepository.GetAllOrdered(c => c.Code);
            var resultBestemming = BestemmingenRepository.GetAllOrdered(b => b.Naam);
            var resultLocatie    = LocatiesRepository.GetAllOrdered(l => l.Naam);
            var resultBetrokkene = BetrokkenenRepository.GetAllOrdered(b => b.Naam);
            var resultRp         = RpRepository.GetAllOrdered(r => r.Naam);
            var resultFormulierAfwerkingsDatum = RpRepository.GetAllOrdered(r => r.Naam);

            var modelPersoon          = resultPersoon.ToModel <PersoonModel>().ToList();
            var modelVoertuig         = resultVoertuig.ToModel <VoertuigModel>().ToList();
            var modelKlachtSoort      = resultSoortKlacht.ToModel <SoortKlachtModel>().ToList();
            var modelOorzaak          = resultOorzaak.ToModel <OorzaakModel>().ToList();
            var modelDetailCode       = resultDetailCode.ToModel <DetailCodeModel>().ToList();
            var modelHoofdCode        = resultHoofdCode.ToModel <HoofdCodeModel>().ToList();
            var modelKlant            = resultKlant.ToModel <KlantModel>().ToList();
            var modelQualityProcedure = resultQualityProcedure.ToModel <QualityProcedureModel>().ToList();
            var modelUnit             = resultUnit.ToModel <UnitModel>().ToList();
            var modelAfdeling         = resultAfdeling.ToModel <AfdelingModel>().ToList();
            var modelOorsprong        = resultOorsprong.ToModel <OorsprongModel>().ToList();
            var modelCa         = resultCa.ToModel <CaModel>().ToList();
            var modelBestemming = resultBestemming.ToModel <BestemmingModel>().ToList();
            var modelLocatie    = resultLocatie.ToModel <LocatieModel>().ToList();
            var modelBetrokkene = resultBetrokkene.ToModel <BetrokkeneModel>().ToList();
            var modelRp         = resultRp.ToModel <RpModel>().ToList();

            return(new ReferenceDataModel
            {
                Personen = modelPersoon,
                Voertuigen = modelVoertuig,
                KlachtSoorten = modelKlachtSoort,
                Oorzaken = modelOorzaak,
                DetailCodes = modelDetailCode,
                HoofdCodes = modelHoofdCode,
                Klanten = modelKlant,
                QualityProcedures = modelQualityProcedure,
                Units = modelUnit,
                Afdelingen = modelAfdeling,
                Oorsprongen = modelOorsprong,
                Cas = modelCa,
                Bestemmingen = modelBestemming,
                Locaties = modelLocatie,
                Betrokkenen = modelBetrokkene,
                Rps = modelRp
            });
        }
        public IActionResult Create()
        {
            var repo     = new VoertuigenRepository(_context);
            var voertuig = repo.CreateVoertuig();

            voertuig.Info = $"--BestelWag.= {voertuig.MaxLVNr}-- PW.= {voertuig.MaxPWNr} !--";


            return(View(voertuig));
            //return View();
        }
        public IActionResult Edit(long id, [Bind("VoertuigId,VoertuigArtikelNummer,VoertuigTitel,Chassisnummer,Prijs,Kleur," +
                                                 "Brandstof,Kilometerstand,Bouwjaar,FiguurURL,Registratie,GarantieTijd,COTwee,Versnelling,CC,Vermogen,Deuren,Zitplaatsen," +
                                                 "Binnenbekleding,Binnenkleur,Koetswerk, SelectedMerk, SelectedModel, SelectedCategorie, SelectedFaktuur, SelectedKlant")]  VoertuigEditViewModel voertuigModified)
        {
            string VolRegistratie = voertuigModified.Registratie;
            string last4Char      = VolRegistratie.Substring(VolRegistratie.Length - 4, 4);

            if (last4Char != voertuigModified.Bouwjaar.ToString())
            {
                ModelState.AddModelError("bouwjaarValidationError",
                                         "Bouwjaar verschilt met Registratie");
            }
            VoertuigenRepository repo;

            if (id != voertuigModified.VoertuigId)
            {
                return(NotFound());
            }

            //if (ModelState.IsValid)
            //{
            //    try
            //    {
            //        _context.Update(voertuig);
            //        await _context.SaveChangesAsync();
            //    }
            //    catch (DbUpdateConcurrencyException)
            //    {
            //if (!VoertuigExists(voertuig.VoertuigId))
            //        {
            //            return NotFound();
            //        }
            //        else
            //        {
            //            throw;
            //        }
            //    }
            //    return RedirectToAction(nameof(Index));


            if (ModelState.IsValid)
            {
                //try
                //{
                repo = new VoertuigenRepository(_context);
                bool saved = repo.SaveEditVoertuig(id, voertuigModified);
                if (saved)
                {
                    TempData["SuccessMessage"] = $"Het voertuig {voertuigModified.VoertuigArtikelNummer} is succesvol gewijzigd.";
                    return(RedirectToAction(nameof(Index)));
                }
                //}
                //catch (DbUpdateConcurrencyException)
                //{
                //    if (!VoertuigExists(voertuigModified.VoertuigId))
                //    {
                //        return NotFound();
                //    }
                //    else
                //    {
                //        throw;
                //    }
                //}
            }
            return(RedirectToAction(nameof(Index)));
        }
Пример #6
0
        private void ApplyChanges(RapporteringsFormulierViewModel model, Formulier formulier)
        {
            var opstellerId        = model.SelectedOpstellerId;
            var ontvangerId        = model.SelectedOntvangerId.GetValueOrDefault(0);
            var ontvangerQlId      = model.SelectedOntvangerQLId.GetValueOrDefault(0);
            var afdelingId         = model.SelectedAfdelingId.GetValueOrDefault(0);
            var voertuigId         = model.SelectedVoertuigId.GetValueOrDefault(0);
            var klachtSoortId      = model.SelectedKlachtSoortId.GetValueOrDefault(0);
            var detailCodeId       = model.SelectedDetailCodeId.GetValueOrDefault(0);
            var rpId               = model.SelectedRpId.GetValueOrDefault(0);
            var qualityProcedureId = model.SelectedQualityProcedureId.GetValueOrDefault(0);
            var UnitId             = model.SelectedUnitId.GetValueOrDefault(0);
            var hoofdCodeId        = model.SelectedHoofdCodeId.GetValueOrDefault(0);

            formulier.Afdeling                    = AfdelingenRepository.GetFirstOrDefault(a => a.Id == afdelingId);
            formulier.Voertuig                    = VoertuigenRepository.GetFirstOrDefault(v => v.Id == voertuigId);
            formulier.Soortklacht                 = KlachtSoortenRepository.GetFirstOrDefault(ks => ks.Id == klachtSoortId);
            formulier.Opsteller                   = PersonenRepository.GetFirstOrDefault(p => p.Id == opstellerId);
            formulier.Ontvanger                   = PersonenRepository.GetFirstOrDefault(p => p.Id == ontvangerId);
            formulier.OntvangerQL                 = PersonenRepository.GetFirstOrDefault(p => p.Id == ontvangerQlId);
            formulier.DetailCode                  = DetailCodesRepository.GetFirstOrDefault(dc => dc.Id == detailCodeId);
            formulier.Rp                          = RpRepository.GetFirstOrDefault(rp => rp.Id == rpId);
            formulier.QualityProcedure            = QualityProceduresRepository.GetFirstOrDefault(qp => qp.Id == qualityProcedureId);
            formulier.Unit                        = UnitRepository.GetFirstOrDefault(u => u.Id == UnitId);
            formulier.HoofdCode                   = HoofdCodesRepository.GetFirstOrDefault(hc => hc.Id == hoofdCodeId);
            formulier.Omschrijving                = model.RapporteringsFormulier.Omschrijving;
            formulier.Gevolg                      = model.RapporteringsFormulier.Gevolg;
            formulier.Referentie                  = model.RapporteringsFormulier.Referentie;
            formulier.KlachtGeuitDoor             = model.RapporteringsFormulier.KlachtGeuitDoor;
            formulier.OorzaakOmschrijving         = model.RapporteringsFormulier.OorzaakOmschrijving;
            formulier.Oplossing                   = model.RapporteringsFormulier.Oplossing;
            formulier.Leverancier                 = model.RapporteringsFormulier.Leverancier;
            formulier.ContainerNummer             = model.RapporteringsFormulier.ContainerNummer;
            formulier.TruckNummer                 = model.RapporteringsFormulier.TruckNummer;
            formulier.Batch                       = model.RapporteringsFormulier.Batch;
            formulier.ExceptieRapporteringsNummer = model.RapporteringsFormulier.ExceptieRapporteringsNummer;
            formulier.Kost                        = model.RapporteringsFormulier.Kost;
            formulier.FactuurNummer               = model.RapporteringsFormulier.FactuurNummer;
            formulier.ClaimNummer                 = model.RapporteringsFormulier.ClaimNummer;
            formulier.AkmOmschrijving             = model.RapporteringsFormulier.AkmOmschrijving;
            formulier.Dossiernummers              = model.RapporteringsFormulier.Dossiernummers;
            formulier.AantalUnits                 = model.RapporteringsFormulier.AantalUnits;
            formulier.OorzaakAchterliggend        = model.RapporteringsFormulier.OorzaakAchterliggend;
            formulier.ControleReferentieOntvanger = model.RapporteringsFormulier.ControleReferentieOntvanger;
            formulier.ControleReferentieOpsteller = model.RapporteringsFormulier.ControleReferentieOpsteller;
            formulier.AoNummer                    = model.RapporteringsFormulier.AoNummer;
            formulier.Opmerking                   = model.RapporteringsFormulier.Opmerking;
            formulier.QualityDocumentNaam         = model.RapporteringsFormulier.QualityDocumentNaam;
            formulier.OplossingsDatum             = model.RapporteringsFormulier.OplossingsDatum;
            formulier.OplossingsDatumQL           = model.RapporteringsFormulier.OplossingsDatumQL;
            formulier.VaststellingsDatum          = model.RapporteringsFormulier.VaststellingsDatum;

            EnumBooleanModel communicatieKlantOpsteller = model.RapporteringsFormulier.CommunicatieKlantOpsteller;

            switch (communicatieKlantOpsteller)
            {
            case EnumBooleanModel.NoSelection:
                formulier.CommunicatieKlantOpsteller = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.CommunicatieKlantOpsteller = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.CommunicatieKlantOpsteller = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.CommunicatieKlantOpsteller = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel isQualityDocumentVolledig = model.RapporteringsFormulier.IsQualityDocumentVolledig;

            switch (isQualityDocumentVolledig)
            {
            case EnumBooleanModel.NoSelection:
                formulier.IsQualityDocumentVolledig = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.IsQualityDocumentVolledig = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.IsQualityDocumentVolledig = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.IsQualityDocumentVolledig = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel systematischeControleOntvanger = model.RapporteringsFormulier.SystematischeControleOntvanger;

            switch (systematischeControleOntvanger)
            {
            case EnumBooleanModel.NoSelection:
                formulier.SystematischeControleOntvanger = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.SystematischeControleOntvanger = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.SystematischeControleOntvanger = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.SystematischeControleOntvanger = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel systematischeControleOpsteller = model.RapporteringsFormulier.SystematischeControleOpsteller;

            switch (systematischeControleOpsteller)
            {
            case EnumBooleanModel.NoSelection:
                formulier.SystematischeControleOpsteller = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.SystematischeControleOpsteller = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.SystematischeControleOpsteller = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.SystematischeControleOpsteller = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel doorrekenenKost = model.RapporteringsFormulier.DoorrekenenKost;

            switch (doorrekenenKost)
            {
            case EnumBooleanModel.NoSelection:
                formulier.DoorrekenenKost = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.DoorrekenenKost = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.DoorrekenenKost = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.DoorrekenenKost = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel isNieuwQualityDocumentNodig = model.RapporteringsFormulier.IsNieuwQualityDocumentNodig;

            switch (isNieuwQualityDocumentNodig)
            {
            case EnumBooleanModel.NoSelection:
                formulier.IsNieuwQualityDocumentNodig = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.IsNieuwQualityDocumentNodig = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.IsNieuwQualityDocumentNodig = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.IsNieuwQualityDocumentNodig = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel isQualityDocumentBeschreven = model.RapporteringsFormulier.IsQualityDocumentBeschreven;

            switch (isQualityDocumentBeschreven)
            {
            case EnumBooleanModel.NoSelection:
                formulier.IsQualityDocumentBeschreven = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.IsQualityDocumentBeschreven = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.IsQualityDocumentBeschreven = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.IsQualityDocumentBeschreven = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel isSystematischeControleVolledig = model.RapporteringsFormulier.IsSystematischeControleVolledig;

            switch (isSystematischeControleVolledig)
            {
            case EnumBooleanModel.NoSelection:
                formulier.IsSystematischeControleVolledig = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.IsSystematischeControleVolledig = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.IsSystematischeControleVolledig = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.IsSystematischeControleVolledig = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel beveiligingsIncident = model.RapporteringsFormulier.BeveiligingsIncident;

            switch (beveiligingsIncident)
            {
            case EnumBooleanModel.NoSelection:
                formulier.BeveiligingsIncident = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.BeveiligingsIncident = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.BeveiligingsIncident = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.BeveiligingsIncident = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel communicatieKlantOntvanger = model.RapporteringsFormulier.CommunicatieKlantOntvanger;

            switch (communicatieKlantOntvanger)
            {
            case EnumBooleanModel.NoSelection:
                formulier.CommunicatieKlantOntvanger = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.CommunicatieKlantOntvanger = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.CommunicatieKlantOntvanger = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.CommunicatieKlantOntvanger = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel nieuweControle = model.RapporteringsFormulier.NieuweControle;

            switch (nieuweControle)
            {
            case EnumBooleanModel.NoSelection:
                formulier.NieuweControle = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.NieuweControle = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.NieuweControle = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.NieuweControle = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel voorstelAanvaard = model.RapporteringsFormulier.VoorstelAanvaard;

            switch (voorstelAanvaard)
            {
            case EnumBooleanModel.NoSelection:
                formulier.VoorstelAanvaard = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.VoorstelAanvaard = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.VoorstelAanvaard = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.VoorstelAanvaard = EnumBoolean.Unknown;
                break;
            }

            EnumBooleanModel opnemenCa = model.RapporteringsFormulier.OpnemenCapa;

            switch (opnemenCa)
            {
            case EnumBooleanModel.NoSelection:
                formulier.OpnemenCapa = EnumBoolean.NoSelection;
                break;

            case EnumBooleanModel.No:
                formulier.OpnemenCapa = EnumBoolean.No;
                break;

            case EnumBooleanModel.Yes:
                formulier.OpnemenCapa = EnumBoolean.Yes;
                break;

            case EnumBooleanModel.Unknown:
                formulier.OpnemenCapa = EnumBoolean.Unknown;
                break;
            }

            EnumStatusRfModel statusRf = model.RapporteringsFormulier.StatusRfEnum;

            switch (statusRf)
            {
            case EnumStatusRfModel.Nieuw:
                formulier.StatusRfEnum = EnumStatusRf.Nieuw;
                break;

            case EnumStatusRfModel.Geregistreerd:
                formulier.StatusRfEnum = EnumStatusRf.Geregistreerd;
                break;

            case EnumStatusRfModel.Beantwoord:
                formulier.StatusRfEnum = EnumStatusRf.Beantwoord;
                break;

            case EnumStatusRfModel.Afgesloten:
                formulier.StatusRfEnum = EnumStatusRf.Afgesloten;
                break;
            }

            EnumAuditTypeModel auditType = model.RapporteringsFormulier.AuditTypeEnum;

            switch (auditType)
            {
            case EnumAuditTypeModel.NietsGeselecteerd:
                formulier.AuditTypeEnum = EnumAuditType.NietsGeselecteerd;
                break;

            case EnumAuditTypeModel.ExterneAudit:
                formulier.AuditTypeEnum = EnumAuditType.ExterneAudit;
                break;

            case EnumAuditTypeModel.InterneAudit:
                formulier.AuditTypeEnum = EnumAuditType.InterneAudit;
                break;
            }

            EnumDossierTypeModel dossierType = model.RapporteringsFormulier.DossierTypeEnum;

            switch (dossierType)
            {
            case EnumDossierTypeModel.NietsGeselecteerd:
                formulier.DossierTypeEnum = EnumDossierType.NietsGeselecteerd;
                break;

            case EnumDossierTypeModel.Import:
                formulier.DossierTypeEnum = EnumDossierType.Import;
                break;

            case EnumDossierTypeModel.Export:
                formulier.DossierTypeEnum = EnumDossierType.Export;
                break;

            case EnumDossierTypeModel.Andere:
                formulier.DossierTypeEnum = EnumDossierType.Andere;
                break;
            }

            EnumOngevalTypeModel ongevalType = model.RapporteringsFormulier.OngevalTypeEnum;

            switch (ongevalType)
            {
            case EnumOngevalTypeModel.NietsGeselecteerd:
                formulier.OngevalTypeEnum = EnumOngevalType.NietsGeselecteerd;
                break;

            case EnumOngevalTypeModel.Arbeidsongeval:
                formulier.OngevalTypeEnum = EnumOngevalType.Arbeidsongeval;
                break;

            case EnumOngevalTypeModel.Verkeersongeval:
                formulier.OngevalTypeEnum = EnumOngevalType.Verkeersongeval;
                break;
            }

            if (model.RapporteringsFormulier.StatusRfEnum == EnumStatusRfModel.Afgesloten)
            {
                formulier.Afsluiten();
            }

            var betrokkenen = BetrokkenenRepository.GetAll(b => model.SelectedBetrokkeneIds.Contains(b.Id));

            formulier.Betrokkenen.Clear();

            foreach (var betrokkene in betrokkenen)
            {
                formulier.Betrokkenen.Add(betrokkene);
            }

            var klantent = KlantenRepository.GetAll(k => model.SelectedKlantenIds.Contains(k.Id));

            formulier.Klanten.Clear();

            foreach (var klant in klantent)
            {
                formulier.Klanten.Add(klant);
            }

            var oorsprongen = OorsprongenRepository.GetAll(o => model.SelectedOorsprongIds.Contains(o.Id));

            formulier.Oorsprongen.Clear();

            foreach (var oorsprong in oorsprongen)
            {
                formulier.Oorsprongen.Add(oorsprong);
            }

            var bestemmingen = BestemmingenRepository.GetAll(b => model.SelectedBestemmingIds.Contains(b.Id));

            formulier.Bestemmingen.Clear();

            foreach (var bestemming in bestemmingen)
            {
                formulier.Bestemmingen.Add(bestemming);
            }

            var locaties = LocatiesRepository.GetAll(l => model.SelectedLocatieIds.Contains(l.Id));

            formulier.Locaties.Clear();

            foreach (var locatie in locaties)
            {
                formulier.Locaties.Add(locatie);
            }

            var oorzaken = OorzakenRepository.GetAll(o => model.SelectedOorzaakIds.Contains(o.Id));

            formulier.Oorzaken.Clear();

            foreach (var oorzaak in oorzaken)
            {
                formulier.Oorzaken.Add(oorzaak);
            }

            var cas = CasRepository.GetAll(c => model.SelectedCaIds.Contains(c.Id));

            formulier.Cas.Clear();

            foreach (var ca in cas)
            {
                formulier.Cas.Add(ca);
            }
        }