public IActionResult Update(ConsultViewModel consVM) { // Check eerst de standaard fouten: if (!ModelState.IsValid) { return(View(consVM)); } // Check hier de velden op complexere correcte invoer // Stop met valideren bij de eerste gevonden fout string errMsg = ErrorCheck.CheckForErrors(consVM); if (errMsg != null) // Specifieke, complexe fout gevonden { ModelState.AddModelError(string.Empty, errMsg); return(View(consVM)); } // converteer pW5LinesVM naar PrescrWithLine via extension method var cons = consVM.ToCons(); _consultManager.Upd(cons); return(RedirectToAction("Index", new { doctorId = cons.DoctorId, clientId = cons.ClientId })); }
public IActionResult Create(ConsultViewModel consVM) { if (!ModelState.IsValid) { // Geef de ViewModel terug: // Opmerking: onderstaande werkt niet. // "Descr is CHANGED" komt niet in het scherm. // Je kan bij return View(xxx) geen nieuwe veldwaarden meegeven consVM.Consult.ConsultDescr = "Descr is CHANGED"; // Het viewmodel moet altijd in de return, ook al doet het scherm er niets mee // Het scherm verwacht altijd deze VM, zowel bij de Get als bij de Post return(View(consVM)); } // Check hier de velden op correcte invoer (complexer) // Stop met valideren bij de eerste gevonden fout // Opmerking: als je spaties invult in een Line, wordt dit // als een NULL string terug aan deze POST ACTION Method teruggegeven string errMsg = ErrorCheck.CheckForErrors(consVM); if (errMsg != null) // Specifieke fout gevonden { ModelState.AddModelError(string.Empty, errMsg); // VM moet altijd in de return, ook al doet het scherm er niets mee // Het scherm verwacht altijd deze VM, zowel bij de Get als bij de Create return(View(consVM)); } var cons = consVM.ToCons(); _consultManager.Add(cons); return(RedirectToAction("Index", new { doctorId = consVM.Consult.DoctorId, clientId = consVM.Consult.ClientId })); }