public IActionResult Create(ClientViewModel cltVM) { if (!ModelState.IsValid) { // Geef de ViewModel terug: // Opmerking: onderstaande werkt niet. // "FirstNameChanged" komt niet in het scherm. // Je kan bij return View(xxx) geen nieuwe veldwaarden meegeven cltVM.Client.FirstName = "FirstNamechanged"; // Geef de lijst van landen weer terug aan de view // Zo niet, dan klapt de applicatie en werkt de dropdownlist niet cltVM.Countries = _countryManager.GetAllCountries(); // deze werkt wel // Idem voor de andere drop down lijsten CreateListOfZodiacs(cltVM); // cltVM is call by reference CreateListOfSportTypes(cltVM); // cltVM is call by reference return(View(cltVM)); } // Check hier de velden op correcte invoer (complexer) // Stop met valideren bij de eerste gevonden fout string errMsg = ErrorCheck.CheckForErrors(cltVM); if (errMsg != null) // Specifieke fout gevonden { ModelState.AddModelError(string.Empty, errMsg); // Opmerking: onderstaande werkt niet. // "LastNameChanged" komt niet in het scherm. // Je kan bij return View(xxx) geen nieuwe veldwaarden meegeven cltVM.Client.LastName = "LastNamechanged"; // Geef de lijst van landen weer terug aan de view // Zo niet, dan klapt de applicatie en werkt de dropdownlist niet cltVM.Countries = _countryManager.GetAllCountries(); return(View(cltVM)); } // Zet cltVM.ZodiacId (is een int, die geselecteerd is in het scherm) over naar cltVM.Client.AstrologyZodiacSign // Zet cltVM.TypeOfSporter (is een int, die geselecteerd is in het scherm) over naar cltVM.Client.TypeOfSporter var zodiacSign = (AstrologyZodiacSign)cltVM.ZodiacId; cltVM.Client.AstrologyZodiacSign = zodiacSign.ToString(); var sportType = (SportType)cltVM.SportTypeId; cltVM.Client.TypeOfSporter = sportType.ToString(); var clt = cltVM.ToClient(); // clt.Id: geen waarde geven bij Create clt.DoctorId = 1; // NTD idereen krijgt doctor 1: de doctor die inlogt bepaalt deze waarde clt.ActionCode = 'A'; // Pas hier het clientnummer aan clt.ClientNumber = _clientManager.GetAndUpdateCurrentClientNumber(); _clientManager.AddClient(clt); return(RedirectToAction("Index", new { doctorId = cltVM.Client.DoctorId })); }