public IActionResult Update(PrescrWith5LinesViewModel pW5LinesVM) { // Check eerst de standaard fouten: if (!ModelState.IsValid) { return(View(pW5LinesVM)); } // Check hier de velden op complexere correcte invoer // Stop met valideren bij de eerste gevonden fout string errMsg = ErrorCheck.CheckForErrors(pW5LinesVM); if (errMsg != null) // Specifieke fout gevonden { ModelState.AddModelError(string.Empty, errMsg); return(View(pW5LinesVM)); } // converteer pW5LinesVM naar PrescrWithLine via extension method var prescr = pW5LinesVM.ToPrescr(); var prescrLineList = pW5LinesVM.ToPrescrLineList(); _prescrManager.UpdPrescrAndLines(prescr, prescrLineList); return(RedirectToAction("Index", new { doctorId = pW5LinesVM.Prescription.DoctorId, clientId = pW5LinesVM.Prescription.ClientId })); }
public IActionResult Create(PrescrWith5LinesViewModel pW5LinesVM) { // Onderstaande werkt niet: if (!ModelState.IsValid) { pW5LinesVM.Prescription.PrescriptionDescr = "Descr is CHANGED"; return(View(pW5LinesVM)); } // 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(pW5LinesVM); 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(pW5LinesVM)); } var prescr = pW5LinesVM.ToPrescr(); var prescrLineList = pW5LinesVM.ToPrescrLineList(); _prescrManager.AddPrescrAndLines(prescr, prescrLineList); return(RedirectToAction("Index", new { doctorId = pW5LinesVM.Prescription.DoctorId, clientId = pW5LinesVM.Prescription.ClientId })); }