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)); }