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
            }));
        }