コード例 #1
0
        // GET: Admin/Categories/Create
        public ActionResult Create()
        {
            //ViewBag.ParentId = new SelectList(db.Categorieen, "Id", "Categorienaam");


            var vm = new CategorieCreateVm()
            {
                Categorie           = null,
                Hoofdcategorielijst = hoofdcategorielijst()
            };


            return(View(vm));
        }
コード例 #2
0
        public ActionResult Create(CategorieCreateVm inputCategorieCreateVm)
        {
            if (inputCategorieCreateVm.Categorie.Categorienaam != null)     //zo ja,
            {
                //nieuwe categorie maken
                var categorieToAdd = new Categorie
                {
                    Categorienaam = inputCategorieCreateVm.Categorie.Categorienaam,
                    ParentId      = inputCategorieCreateVm.Categorie.ParentId,
                };

                //categorie tovoegen aan de dbSet (tabel)
                db.Set <Categorie>().Add(categorieToAdd);

                //context wijzigingen doorvoeren naar de Database
                db.SaveChanges();
                //actie voor response ondernemen
                TempData["SuccessMessage"] = $"De categorie <b>{categorieToAdd.Categorienaam}</b> werd toegevoegd!";
                return(RedirectToAction("Index", new { Controller = "Categories", Area = "Admin" }));
            }
            else
            {
                //de existing categorie bestaat niet
                ModelState.AddModelError("Categorie.ParentId",
                                         $"De categorie met id {inputCategorieCreateVm.Categorie.ParentId} bestaat niet!");
            }
            //model not valid

            //input model wordt nu het view model, dus moet nog vervolledigd worden
            inputCategorieCreateVm = new CategorieCreateVm()
            {
                Categorie           = null,
                Hoofdcategorielijst = hoofdcategorielijst()
            };

            return(View(inputCategorieCreateVm));
        }