Controller Product
Chapeau
Probleem
De controller moet de volgende use cases implemeteren:
- Product Administrating
- Product Inserting
- Product Insert
- Product Updating
- Product Update
- Product Delete
Design
Oplossing
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Webwinkel.Controllers
{
public class ProductController : Controller
{
public ActionResult Administrating()
{
Dal.Product dal = new Dal.Product();
ViewBag.Message = "Beheer producten";
ViewBag.DatabaseMessage = dal.Message;
return View(dal.ReadAll());
}
public ActionResult Inserting()
{
ViewBag.Message = "Een postcode inserten";
return View();
}
[HttpPost]
public ActionResult Insert(Models.Product product)
{
if (ModelState.IsValid)
{
ViewBag.Message = "Insert een product in de database";
Dal.Product dal = new Dal.Product(product);
dal.Create();
return View("Administrating", dal.ReadAll());
}
else
{
ModelState.AddModelError(
"Ongeldige gegevens", "Naam van product moet ingevuld zijn.");
return View("Administrating");
}
}
[HttpGet]
// ? zorgt er voor dat een null value geen fout geeft
public ActionResult Updating(int? id)
{
if (id == null)
{
ViewBag.Message = "Ongeldige Id";
return View();
}
else
{
// lookup product to update
Models.Product product = new Models.Product();
// store Product Id
product.Id = (int) id;
Dal.Product dal = new Dal.Product(product);
product = dal.ReadOne();
ViewBag.Message = "Updating product";
return View(product);
}
}
[HttpGet]
// ? zorgt er voor dat een null value geen fout geeft
public ActionResult Delete(int? id)
{
if (id == null)
{
ViewBag.Message = "Ongeldige Id";
return View("Administrating");
}
else
{
// lookup product to update
Models.Product product = new Models.Product();
// store Product Id
product.Id = (int)id;
Dal.Product dal = new Dal.Product(product);
dal.Delete();
ViewBag.Message = "Product deleted";
return View("Administrating", dal.ReadAll());
}
}
[HttpPost]
// ? zorgt er voor dat een null value geen fout geeft
public ActionResult Update(Models.Product product)
{
if (ModelState.IsValid)
{
Dal.Product dal = new Dal.Product(product);
dal.Update();
ViewBag.Message = "Product is geüpdated.";
return View("Administrating", dal.ReadAll());
}
else
{
ModelState.AddModelError(
"Ongeldige gegevens", "Zie details voor meer uitleg.");
return View("Administrating");
}
}
}
}
2015-10-15 12:50:03