public ActionResult AddProduct(List <Product> products) { //Bij wijze van uitzondering vindt er een deel businesslogic plaats in de controller //Dit is omdat er gebruikt gemaakt moet worden van sessions en dit per definitie alleen gebeurt in ASP.net //Zo blijft C# code alleen C# code en is alles wat er in het framework gebeurt nog steeds netjes losgekoppeld List <Product> checkedProducts = ProductLogic.GetCheckedProducts(products); if (Session["OrderProducts"] == null) { Session["OrderProducts"] = checkedProducts; } else { List <Product> currentProducts = Session["OrderProducts"] as List <Product>; currentProducts.AddRange(checkedProducts); products = currentProducts; } OrderViewModel myOrder = Session["Order"] as OrderViewModel; myOrder.Products = checkedProducts; myOrder.Price = ProductLogic.CalculateTotal(checkedProducts); return(View("Add", myOrder)); }