// GET: Order
        public ActionResult Index()
        {
            // Model(業務ロジッククラス) に渡すパラメータを定義
            OrderParameterValue param
                = new OrderParameterValue(
                      this.RouteData.Values["controller"].ToString(),
                      this.RouteData.Values["action"].ToString(),
                      "GetOrders",
                      "SQL", //string.Empty,
                      new MyUserInfo("user01", this.UserInfo.IPAddress));

            // Model(業務ロジッククラス) のメソッドを実行
            OrdersLogic      lb       = new OrdersLogic();
            OrderReturnValue retValue = (OrderReturnValue)lb.DoBusinessLogic(param);

            if (retValue.ErrorFlag == true)
            {
                // エラーが発生した場合は、エラー内容を Model クラスに格納
                string Message = "ErrorMessageID:" + retValue.ErrorMessageID + ";";
                Message         += "ErrorMessage:" + retValue.ErrorMessage + ";";
                Message         += "ErrorInfo:" + retValue.ErrorInfo;
                retValue.Message = Message;
            }

            // ビューに戻り値クラスのオブジェクトを渡し、ビューを表示する
            return(View(retValue));
        }
Example #2
0
        public ActionResult UpdateDatabase()
        {
            // 修正内容を含む、注文情報を Session から取得
            DataTable orderTable       = (DataTable)Session["Orders"];
            DataTable orderDetailTable = (DataTable)Session["OrderDetails"];

            // Model(業務ロジッククラス) に渡すパラメータを定義
            OrderParameterValue param
                = new OrderParameterValue(
                      this.RouteData.Values["controller"].ToString(),
                      this.RouteData.Values["action"].ToString(),
                      "UpdateOrder",
                      "SQL", //string.Empty,
                      new MyUserInfo("user01", this.UserInfo.IPAddress));

            param.Orders       = orderTable;
            param.OrderDetails = orderDetailTable;

            // Model(業務ロジッククラス) のメソッドを実行
            OrdersLogic      logic    = new OrdersLogic();
            OrderReturnValue retValue = (OrderReturnValue)logic.DoBusinessLogic(param);

            // Model の修正内容を確定させる
            orderTable.AcceptChanges();
            orderDetailTable.AcceptChanges();

            // ビューを表示する
            retValue.Orders       = orderTable;
            retValue.OrderDetails = orderDetailTable;
            return(View("Order", retValue));
        }
Example #3
0
        public OrderReturnValue GetOrderById(OrderParameterValue orderParameter)
        {
            // 戻り値クラスを作成する
            OrderReturnValue returnValue = new OrderReturnValue();

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

            // 注文情報、注文詳細情報を格納するための DataTable
            System.Data.DataTable orderTable        = new System.Data.DataTable();
            System.Data.DataTable orderDetailsTable = new System.Data.DataTable();

            // パラメータを設定する
            orderDao.PK_OrderID        = orderParameter.OrderId;
            orderDetailsDao.PK_OrderID = orderParameter.OrderId;

            // 注文 ID をもとに注文情報を検索する
            orderDao.D2_Select(orderTable);
            orderDetailsDao.D2_Select(orderDetailsTable);

            // 戻り値クラスに結果セットを格納し、B 層クラスに返す
            returnValue.Orders       = DataToPoco.DataTableToList <OrderViweModel>(orderTable);
            returnValue.OrderDetails = DataToPoco.DataTableToList <Order_DetailViweModel>(orderDetailsTable);
            return(returnValue);
        }
        public ActionResult Order(string OrderId)
        {
            // Model(業務ロジッククラス) に渡すパラメータを定義
            OrderParameterValue param
                = new OrderParameterValue(
                      this.RouteData.Values["controller"].ToString(),
                      this.RouteData.Values["action"].ToString(),
                      "GetOrderById",
                      "SQL", //string.Empty,
                      new MyUserInfo("user01", this.UserInfo.IPAddress));

            param.OrderId = OrderId;

            // Model(業務ロジッククラス) のメソッドを実行
            OrdersLogic      logic    = new OrdersLogic();
            OrderReturnValue retValue = (OrderReturnValue)logic.DoBusinessLogic(param);

            if (retValue.ErrorFlag == true)
            {
                // エラーが発生した場合は、エラー内容を Model クラスに格納
                string Message = "ErrorMessageID:" + retValue.ErrorMessageID + ";";
                Message         += "ErrorMessage:" + retValue.ErrorMessage + ";";
                Message         += "ErrorInfo:" + retValue.ErrorInfo;
                retValue.Message = Message;
            }
            else
            {
                // 正常に終了した場合は、DB から取得した値を Session に格納
                Session["Orders"]       = retValue.Orders;
                Session["OrderDetails"] = retValue.OrderDetails;
            }
            return(View(retValue));
        }
        public ActionResult GetOrderDetails(int?id)
        {
            // セッションから、注文サマリ情報、注文詳細情報を取得し、Model クラスに格納
            OrderReturnValue retValue = new OrderReturnValue();

            retValue.OrderID      = Convert.ToInt32(id);
            retValue.Orders       = (List <OrderViweModel>)Session["Orders"];
            retValue.OrderDetails = (List <Order_DetailViweModel>)Session["OrderDetails"];
            return(View("Order", retValue));
        }
Example #6
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);

            // 注文情報、注文詳細情報を格納するための DataTable
            System.Data.DataTable orderTable        = orderParameter.Orders;
            System.Data.DataTable orderDetailsTable = orderParameter.OrderDetails;

            // レコードの状態を確認し、修正されていたら DB を更新する
            if (orderTable.Rows[0].RowState == System.Data.DataRowState.Modified)
            {
                // 注文情報(サマリ)更新用のパタメータを設定する
                orderDao.PK_OrderID                = orderTable.Rows[0]["OrderId"];
                orderDao.Set_OrderDate_forUPD      = orderTable.Rows[0]["OrderDate"];
                orderDao.Set_RequiredDate_forUPD   = orderTable.Rows[0]["RequiredDate"];
                orderDao.Set_ShippedDate_forUPD    = orderTable.Rows[0]["ShippedDate"];
                orderDao.Set_ShipVia_forUPD        = orderTable.Rows[0]["ShipVia"];
                orderDao.Set_Freight_forUPD        = orderTable.Rows[0]["Freight"];
                orderDao.Set_ShipName_forUPD       = orderTable.Rows[0]["ShipName"];
                orderDao.Set_ShipAddress_forUPD    = orderTable.Rows[0]["ShipAddress"];
                orderDao.Set_ShipCity_forUPD       = orderTable.Rows[0]["ShipCity"];
                orderDao.Set_ShipRegion_forUPD     = orderTable.Rows[0]["ShipRegion"];
                orderDao.Set_ShipPostalCode_forUPD = orderTable.Rows[0]["ShipPostalCode"];
                orderDao.Set_ShipCountry_forUPD    = orderTable.Rows[0]["ShipCountry"];

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

            foreach (System.Data.DataRow row in orderDetailsTable.Rows)
            {
                // レコードの状態を確認し、修正されていたら DB を更新する
                if (row.RowState == System.Data.DataRowState.Modified)
                {
                    // 注文情報(明細)更新用のパラメータを設定する
                    orderDetailsDao.PK_OrderID           = row["OrderId"];
                    orderDetailsDao.PK_ProductID         = row["ProductId"];
                    orderDetailsDao.Set_UnitPrice_forUPD = row["UnitPrice"];
                    orderDetailsDao.Set_Quantity_forUPD  = row["Quantity"];
                    orderDetailsDao.Set_Discount_forUPD  = row["Discount"];

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

            // 戻り値クラスをB層クラスに返す(更新処理のため、戻り値はなし)
            return(returnValue);
        }
        private void UOC_UpdateOrder(OrderParameterValue orderParameter)
        {
            // DAO 集約クラスを生成する
            ConsolidatedLayerD facade = new ConsolidatedLayerD(this.GetDam());

            // 注文情報をDBに登録する
            OrderReturnValue returnValue = facade.UpdateOrder(orderParameter);

            // 戻り値クラスを返す
            this.ReturnValue = returnValue;
        }
        private void UOC_GetOrderById(OrderParameterValue orderParameter)
        {
            // DAO 集約クラスを生成する
            ConsolidatedLayerD facade = new ConsolidatedLayerD(this.GetDam());

            // 注文情報の詳細を取得する
            OrderReturnValue returnValue = facade.GetOrderById(orderParameter);

            // 戻り値クラスを返す
            this.ReturnValue = returnValue;
        }
Example #9
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);
        }
Example #10
0
        public OrderReturnValue GetOrders(OrderParameterValue orderParameter)
        {
            // 戻り値クラスを作成する
            OrderReturnValue returnValue = new OrderReturnValue();

            // 共通 DAO を作成する (SQL ファイルとして、4.5.2 項で作成したファイルを使用する)
            CmnDao dao = new CmnDao(this.Dam);

            dao.SQLFileName = "SelectOrders.sql";

            // DB から注文情報一覧を取得し、戻り値クラスに注文情報一覧を格納し、B 層クラスに返す
            using (IDataReader dr = dao.ExecSelect_DR())
            {
                returnValue.Orders = DataToPoco.DataReaderToList <OrderViweModel>(dr);
            }

            return(returnValue);
        }
Example #11
0
        public ActionResult UpdateModel_OrderDetails(string txtOrderID, string txtProductID, string txtDiscount, string txtUnitPrice, string txtQuantity)
        {
            // 入力内容をもとに、Model の値を修正
            OrderReturnValue retValue = new OrderReturnValue();

            retValue.OrderDetails = (System.Data.DataTable)Session["OrderDetails"];
            System.Data.DataRow row = retValue.OrderDetails.Select(
                "OrderID='" + txtOrderID + "' AND ProductID ='" + txtProductID + "'").FirstOrDefault();
            row["Discount"]  = Convert.ToSingle(txtDiscount);
            row["UnitPrice"] = Convert.ToDecimal(txtUnitPrice);
            row["Quantity"]  = Convert.ToInt16(txtQuantity);

            // Session から、Order テーブルのレコードを復元し、Model に格納
            retValue.Orders  = (System.Data.DataTable)Session["Orders"];
            retValue.OrderID = Convert.ToInt32(txtOrderID);

            // ビューを表示する
            return(View("Order", retValue));
        }
        public ActionResult UpdateModel_OrderDetails(string txtOrderID, string txtProductID, string txtDiscount, string txtUnitPrice, string txtQuantity)
        {
            // 入力内容をもとに、Model の値を修正
            OrderReturnValue retValue = new OrderReturnValue();

            retValue.OrderID      = Convert.ToInt32(txtOrderID);
            retValue.Orders       = (List <OrderViweModel>)Session["Orders"];
            retValue.OrderDetails = (List <Order_DetailViweModel>)Session["OrderDetails"];
            Order_DetailViweModel odvm = retValue.OrderDetails.Where(
                o => o.OrderID == int.Parse(txtOrderID) &&
                o.ProductID == int.Parse(txtProductID)).FirstOrDefault();

            odvm.Discount  = Convert.ToSingle(txtDiscount);
            odvm.UnitPrice = Convert.ToDecimal(txtUnitPrice);
            odvm.Quantity  = Convert.ToInt16(txtQuantity);
            odvm.Modified  = true; // 更新済みフラグ

            // ビューを表示する
            return(View("Order", retValue));
        }
Example #13
0
        public OrderReturnValue GetOrders(OrderParameterValue orderParameter)
        {
            // 戻り値クラスを作成する
            OrderReturnValue returnValue = new OrderReturnValue();

            // 共通 DAO を作成する (SQL ファイルとして、4.5.2 項で作成したファイルを使用する)
            CmnDao dao = new CmnDao(this.Dam);

            dao.SQLFileName = "SelectOrders.sql";

            // 結果格納用の DataTable
            System.Data.DataTable table = new System.Data.DataTable();

            // DB から注文情報一覧を取得し、DataTable に格納する
            dao.ExecSelectFill_DT(table);

            // 戻り値クラスに注文情報一覧を格納し、B 層クラスに返す
            returnValue.Orders = table;
            return(returnValue);
        }
        public ActionResult UpdateModel_OrderDetails(Order_DetailViweModel model)
        {
            // 入力内容をもとに、Model の値を修正
            OrderReturnValue retValue = new OrderReturnValue();

            retValue.OrderID      = (int)model.OrderID;
            retValue.Orders       = (List <OrderViweModel>)Session["Orders"];
            retValue.OrderDetails = (List <Order_DetailViweModel>)Session["OrderDetails"];
            Order_DetailViweModel odvm = retValue.OrderDetails.Where(
                o => o.OrderID == (int)model.OrderID &&
                o.ProductID == (int)model.ProductID).FirstOrDefault();

            odvm.Discount  = model.Discount;
            odvm.UnitPrice = model.UnitPrice;
            odvm.Quantity  = model.Quantity;
            odvm.Modified  = true; // 更新済みフラグ

            // ビューを表示する
            return(View("Order", retValue));
        }
        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));
        }
        public ActionResult UpdateDatabase()
        {
            // 修正内容を含む、注文情報を Session から取得
            List <OrderViweModel>        ovms  = (List <OrderViweModel>)Session["Orders"];
            List <Order_DetailViweModel> odvms = (List <Order_DetailViweModel>)Session["OrderDetails"];

            // Model(業務ロジッククラス) に渡すパラメータを定義
            OrderParameterValue param
                = new OrderParameterValue(
                      this.RouteData.Values["controller"].ToString(),
                      this.RouteData.Values["action"].ToString(),
                      "UpdateOrder",
                      "SQL", //string.Empty,
                      new MyUserInfo("user01", this.UserInfo.IPAddress));

            param.Orders       = ovms;
            param.OrderDetails = odvms;

            // Model(業務ロジッククラス) のメソッドを実行
            OrdersLogic      logic    = new OrdersLogic();
            OrderReturnValue retValue = (OrderReturnValue)logic.DoBusinessLogic(param);

            // Model の修正内容を確定させる
            foreach (OrderViweModel ovm in ovms)
            {
                ovm.Modified = false;
            }
            foreach (Order_DetailViweModel odvm in odvms)
            {
                odvm.Modified = false;
            }

            // ビューを表示する
            retValue.Orders       = ovms;
            retValue.OrderDetails = odvms;
            return(View("Order", retValue));
        }
Example #18
0
        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)
            {
                // 入力内容をもとに、Model の値を修正
                retValue.Orders = (DataTable)Session["Orders"];
                DataRow rows = retValue.Orders.Select("OrderID='" + txtOrderID + "'").FirstOrDefault();
                rows["OrderDate"]      = txtOrderDate;
                rows["RequiredDate"]   = txtRequiredDate;
                rows["ShippedDate"]    = txtShippedDate;
                rows["ShipVia"]        = txtShipVia;
                rows["Freight"]        = txtFreight;
                rows["ShipName"]       = txtShipName;
                rows["ShipAddress"]    = txtShipAddress;
                rows["ShipCity"]       = txtShipCity;
                rows["ShipRegion"]     = txtShipRegion;
                rows["ShipPostalCode"] = txtShipPostalCode;
                rows["ShipCountry"]    = txtShipCountry;

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

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