Exemplo n.º 1
0
        public OrderReturnValue UpdateOrder(OrderParameterValue orderParameter)
        {
            // 戻り値クラスを作成する
            OrderReturnValue returnValue = new OrderReturnValue();

            // 自動生成した D 層クラスのインスタンスを生成する
            DaoOrders        orderDao        = new DaoOrders(this.Dam);
            DaoOrder_Details orderDetailsDao = new DaoOrder_Details(this.Dam);

            // レコードの状態を確認し、修正されていたら DB を更新する
            OrderViweModel ovm = orderParameter.Orders[0];

            if (ovm.Modified == true)
            {
                // 注文情報(サマリ)更新用のパタメータを設定する
                orderDao.PK_OrderID                = ovm.OrderID.Value;
                orderDao.Set_OrderDate_forUPD      = ovm.OrderDate.Value;
                orderDao.Set_RequiredDate_forUPD   = ovm.RequiredDate.Value;
                orderDao.Set_ShippedDate_forUPD    = ovm.ShippedDate.Value;
                orderDao.Set_ShipVia_forUPD        = ovm.ShipVia.Value;
                orderDao.Set_Freight_forUPD        = ovm.Freight.Value;
                orderDao.Set_ShipName_forUPD       = ovm.ShipName;
                orderDao.Set_ShipAddress_forUPD    = ovm.ShipAddress;
                orderDao.Set_ShipCity_forUPD       = ovm.ShipCity;
                orderDao.Set_ShipRegion_forUPD     = ovm.ShipRegion;
                orderDao.Set_ShipPostalCode_forUPD = ovm.ShipPostalCode;
                orderDao.Set_ShipCountry_forUPD    = ovm.ShipCountry;

                // 注文情報(サマリ)を更新する
                orderDao.D3_Update();
            }

            foreach (Order_DetailViweModel odvm in orderParameter.OrderDetails)
            {
                // レコードの状態を確認し、修正されていたら DB を更新する
                if (odvm.Modified == true)
                {
                    // 注文情報(明細)更新用のパラメータを設定する
                    orderDetailsDao.PK_OrderID           = odvm.OrderID.Value;
                    orderDetailsDao.PK_ProductID         = odvm.ProductID.Value;
                    orderDetailsDao.Set_UnitPrice_forUPD = odvm.UnitPrice.Value;
                    orderDetailsDao.Set_Quantity_forUPD  = odvm.Quantity.Value;
                    orderDetailsDao.Set_Discount_forUPD  = odvm.Discount.Value;

                    // 注文情報(明細)を更新する
                    orderDetailsDao.D3_Update();
                }
            }

            // 戻り値クラスをB層クラスに返す(更新処理のため、戻り値はなし)
            return(returnValue);
        }
        public ActionResult UpdateModel_OrderSummary(
            string txtOrderID, string txtCustomerID, string txtEmployeeID, string txtOrderDate,
            string txtRequiredDate, string txtShippedDate, string txtShipVia, string txtFreight, string txtShipName, string txtShipAddress,
            string txtShipCity, string txtShipRegion, string txtShipPostalCode, string txtShipCountry)
        {
            OrderReturnValue retValue = new OrderReturnValue();

            if (txtCustomerID != null)
            {
                retValue.OrderID = 0;

                // 入力内容をもとに、Model の値を修正
                retValue.Orders = (List <OrderViweModel>)Session["Orders"];
                OrderViweModel ovm = retValue.Orders.Where(
                    o => o.OrderID == int.Parse(txtOrderID)).FirstOrDefault();

                ovm.OrderDate      = DateTime.Parse(txtOrderDate);
                ovm.RequiredDate   = DateTime.Parse(txtRequiredDate);
                ovm.ShippedDate    = DateTime.Parse(txtShippedDate);
                ovm.ShipVia        = int.Parse(txtShipVia);
                ovm.Freight        = decimal.Parse(txtFreight);
                ovm.ShipName       = txtShipName;
                ovm.ShipAddress    = txtShipAddress;
                ovm.ShipCity       = txtShipCity;
                ovm.ShipRegion     = txtShipRegion;
                ovm.ShipPostalCode = txtShipPostalCode;
                ovm.ShipCountry    = txtShipCountry;

                // Session から、Order Details テーブルのレコードを復元し、Model に格納
                retValue.OrderDetails = (List <Order_DetailViweModel>)Session["OrderDetails"];
            }
            else
            {
                // Session から、テーブルのレコードを復元し、Model に格納
                retValue.Orders       = (List <OrderViweModel>)Session["Orders"];
                retValue.OrderDetails = (List <Order_DetailViweModel>)Session["OrderDetails"];
            }

            // ビューを表示する
            return(View("Order", retValue));
        }
        public ActionResult UpdateModel_OrderSummary(OrderViweModel model)
        {
            OrderReturnValue retValue = new OrderReturnValue();

            if (model.CustomerID != null)
            {
                retValue.OrderID = 0;

                // 入力内容をもとに、Model の値を修正
                retValue.Orders = (List <OrderViweModel>)Session["Orders"];
                OrderViweModel ovm = retValue.Orders.Where(
                    o => o.OrderID == model.OrderID).FirstOrDefault();

                ovm.OrderDate      = model.OrderDate;
                ovm.RequiredDate   = model.RequiredDate;
                ovm.ShippedDate    = model.ShippedDate;
                ovm.ShipVia        = model.ShipVia;
                ovm.Freight        = model.Freight;
                ovm.ShipName       = model.ShipName;
                ovm.ShipAddress    = model.ShipAddress;
                ovm.ShipCity       = model.ShipCity;
                ovm.ShipRegion     = model.ShipRegion;
                ovm.ShipPostalCode = model.ShipPostalCode;
                ovm.ShipCountry    = model.ShipCountry;

                // Session から、Order Details テーブルのレコードを復元し、Model に格納
                retValue.OrderDetails = (List <Order_DetailViweModel>)Session["OrderDetails"];
            }
            else
            {
                // Session から、テーブルのレコードを復元し、Model に格納
                retValue.Orders       = (List <OrderViweModel>)Session["Orders"];
                retValue.OrderDetails = (List <Order_DetailViweModel>)Session["OrderDetails"];
            }

            // ビューを表示する
            return(View("Order", retValue));
        }