コード例 #1
0
ファイル: OrderController.cs プロジェクト: coenvc/ECORPWebApp
        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));
        }