예제 #1
0
        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
            }));
        }
예제 #2
0
        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
            }));
        }