Beispiel #1
0
        /// <summary>主キー一覧を取得</summary>
        /// <param name="parameter">引数クラス</param>
        private void UOC_SelectPkList(VoidParameterValue parameter)
        {
            // 戻り値クラスを生成して、事前に戻り値に設定しておく。
            SelectPkListReturnValue returnValue = new SelectPkListReturnValue();
            this.ReturnValue = returnValue;

            // ↓業務処理-----------------------------------------------------

            DataTable pkTable = new DataTable();

            // ↓DBアクセス-----------------------------------------------------
            // 共通Daoを生成
            CmnDao cmnDao = new CmnDao(this.GetDam());
         
            // 動的SQLを指定
            cmnDao.SQLFileName = "SelectAllOrderID.xml";

            // 共通Daoを実行
            cmnDao.ExecSelectFill_DT(pkTable);
            // ↑DBアクセス-----------------------------------------------------

            // 戻り値を設定
            ArrayList pkList = new ArrayList();
            for (int index = 0; index < pkTable.Rows.Count; index++)
            {
                //データテーブルからArrayListに詰め直す
                pkList.Add(pkTable.Rows[index]["OrderID"]);
            }
            returnValue.PkList = pkList;

            // ↑業務処理-----------------------------------------------------

        }
Beispiel #2
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DSQL(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            this.ReturnValue = muReturn;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;
            Shipper[] shippers = null;

            string orderColumn = ((string[])(muParameter.Bean))[0];
            string orderSequence = ((string[])(muParameter.Bean))[1];

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.xml";
                            break;
                    }

                    // ユーザ定義パラメタに対して、動的に値を設定する。
                    if (orderColumn == "c1")
                    {
                        orderColumn = "ShipperID";
                    }
                    else if (orderColumn == "c2")
                    {
                        orderColumn = "CompanyName";
                    }
                    else if (orderColumn == "c3")
                    {
                        orderColumn = "Phone";
                    }
                    else { }

                    if (orderSequence == "A")
                    {
                        orderSequence = "ASC";
                    }
                    else if (orderSequence == "D")
                    {
                        orderSequence = "DESC";
                    }
                    else { }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", "test");

                    // ユーザ入力は指定しない。
                    // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                    //    必要であれば、前後の空白を明示的に指定する必要がある。
                    cmnDao.SetUserParameter("COLUMN", " " + orderColumn + " ");
                    cmnDao.SetUserParameter("SEQUENCE", " " + orderSequence + " ");

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値を設定
                    shippers = new Shipper[dt.Rows.Count];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        Shipper shipper = new Shipper();
                        shipper.ShipperID = (int)dt.Rows[i]["ShipperID"];
                        shipper.CompanyName = (string)dt.Rows[i]["CompanyName"];
                        shipper.Phone = (string)dt.Rows[i]["Phone"];
                        shippers[i] = shipper;
                    }

                    muReturn.Bean = shippers;

                    break;

                //case "generate": // 自動生成Daoを使用する。
                //    // 当該SQLなし
                //    break;

                default: // 個別Daoを使用する。
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.SelectAll_DSQL(muParameter.ActionType,
                        orderColumn, orderSequence, out dt);

                    // 戻り値を設定
                    shippers = new Shipper[dt.Rows.Count];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        Shipper shipper = new Shipper();
                        shipper.ShipperID = (int)dt.Rows[i]["ShipperID"];
                        shipper.CompanyName = (string)dt.Rows[i]["CompanyName"];
                        shipper.Phone = (string)dt.Rows[i]["Phone"];
                        shippers[i] = shipper;
                    }

                    muReturn.Bean = shippers;

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #3
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DT(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            this.ReturnValue = muReturn;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;
            Shipper[] shippers = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLText = "SELECT * FROM Shippers";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>";
                            break;
                    }

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値を設定
                    shippers = new Shipper[dt.Rows.Count];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        Shipper shipper = new Shipper();
                        shipper.ShipperID = (int)dt.Rows[i]["ShipperID"];
                        shipper.CompanyName = (string)dt.Rows[i]["CompanyName"];
                        shipper.Phone = (string)dt.Rows[i]["Phone"];
                        shippers[i] = shipper;
                    }

                    muReturn.Bean = shippers;

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 自動生成Daoを実行
                    genDao.D2_Select(dt);

                    // 戻り値を設定
                    shippers = new Shipper[dt.Rows.Count];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        Shipper shipper = new Shipper();
                        shipper.ShipperID = (int)dt.Rows[i]["ShipperID"];
                        shipper.CompanyName = (string)dt.Rows[i]["CompanyName"];
                        shipper.Phone = (string)dt.Rows[i]["Phone"];
                        shippers[i] = shipper;
                    }

                    muReturn.Bean = shippers;

                    break;

                default: // 個別Daoを使用する。
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.SelectAll_DT(muParameter.ActionType, out dt);

                    // 戻り値を設定
                    shippers = new Shipper[dt.Rows.Count];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        Shipper shipper = new Shipper();
                        shipper.ShipperID = (int)dt.Rows[i]["ShipperID"];
                        shipper.CompanyName = (string)dt.Rows[i]["CompanyName"];
                        shipper.Phone = (string)dt.Rows[i]["Phone"];
                        shippers[i] = shipper;
                    }

                    muReturn.Bean = shippers;

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #4
0
        /// <summary>
        /// Gets the Slip Issuance UserID of History=1 to TurnBack
        /// </summary>
        /// <param name="subSystemId"></param>
        /// <param name="workflowControlNo"></param>
        /// <returns></returns>
        private DataTable GetSlipIssuanceUserID(string subSystemId, string workflowControlNo)
        {
            #region チェック処理を実装

            if (string.IsNullOrEmpty(subSystemId))
            {
                throw new BusinessSystemException(
                    MyBusinessSystemExceptionMessage.WORKFLOW_ERROR[0],
                    String.Format(MyBusinessSystemExceptionMessage.WORKFLOW_ERROR[1],
                        String.Format(MyBusinessSystemExceptionMessage.WORKFLOW_ERROR_CHECK_FIELD_ISNT_CONTAINED,
                        "SubSystemId", "turnBackWorkflow")));
            }
            else if (string.IsNullOrEmpty(workflowControlNo))
            {
                throw new BusinessSystemException(
                    MyBusinessSystemExceptionMessage.WORKFLOW_ERROR[0],
                    String.Format(MyBusinessSystemExceptionMessage.WORKFLOW_ERROR[1],
                        String.Format(MyBusinessSystemExceptionMessage.WORKFLOW_ERROR_CHECK_EMPTY, "workflowControlNo")));
            }

            #endregion

            // --------------------------------------------------
            // 差戻しのToユーザIDを履歴から取得
            // --------------------------------------------------
            //Executes the select query of T_WorkflowHistory for getting the original slip issuance user information
            // --------------------------------------------------
            CmnDao dao = new CmnDao(this.Dam);
            dao.SQLFileName = "GetTurnBackFromUserHistory.sql";
            dao.SetParameter("WorkflowControlNo", workflowControlNo);
            dao.SetParameter("ActionType", "TurnBack");
            DataTable dt = new DataTable();
            dao.ExecSelectFill_DT(dt);
            return dt;
        }
Beispiel #5
0
        /// <summary>処理中ワークフロー依頼を取得します。</summary>
        /// <param name="subSystemId">サブシステムID(任意)</param>
        /// <param name="workflowName">ワークフロー名(任意)</param>
        /// <param name="workflowControlNo">ワークフロー管理番号(任意)</param>
        /// <param name="userId">ワークフローの受信ユーザ(御中指定不可能)</param>
        /// <returns>処理中のワークフロー一覧</returns>
        public DataTable GetProcessingWfRequest(
            string subSystemId, string workflowName, string workflowControlNo, decimal userId)
        {
            // チェック処理を実装
            // なし。

            // --------------------------------------------------
            // 処理中のワークフローを取得
            // --------------------------------------------------
            // T_CurrentWorkflowのSELECT
            // --------------------------------------------------
            CmnDao dao = new CmnDao(this.Dam);
            dao.SQLFileName = "GetProcessingWfRequest.xml";

            // SubSystemId
            if (!string.IsNullOrEmpty(subSystemId))
            {
                dao.SetParameter("SubSystemId", subSystemId);
            }

            // WkflowName
            if (!string.IsNullOrEmpty(workflowName))
            {
                dao.SetParameter("WorkflowName", workflowName);
            }

            // WorkflowControlNo
            if (!string.IsNullOrEmpty(workflowControlNo))
            {
                dao.SetParameter("WorkflowControlNo", workflowControlNo);
            }

            // AcceptanceUserId
            dao.SetParameter("AcceptanceUserId", userId);

            // 処理中ワークフロー依頼を取得
            DataTable dt = new DataTable();
            dao.ExecSelectFill_DT(dt);

            // リターン
            return dt;
        }
Beispiel #6
0
    /// <summary>
    /// UOC_ArgumentException Method
    /// </summary>
    /// <param name="testParameter">testParameter</param>
    private void UOC_ArgumentException(TestParameterValue testParameter)
    {
        // 戻り値クラスを生成して、事前に戻り地に設定しておく。
        TestReturnValue testReturn = new TestReturnValue();
        this.ReturnValue = testReturn;

        // ↓業務処理-----------------------------------------------------
        string orderColumn = "";
        string orderSequence = "";
        switch ((testParameter.ActionType.Split('%'))[1])
        {
            case "common": // 共通Daoを使用する。
            default:
                // 共通Daoを生成
                CmnDao cmnDao = new CmnDao(this.GetDam());

                switch ((testParameter.ActionType.Split('%'))[2])
                {
                    case "static":
                        // 静的SQLを指定
                        switch (testParameter.SelectCase)
                        {
                            case "ArgumentException0":
                                cmnDao.SQLFileName = "ArgumentException0.xml";
                                break;
                            case "ArgumentException1":
                                cmnDao.SQLFileName = "ArgumentException1.xml";
                                break;
                            case "ArgumentException2":
                                cmnDao.SQLFileName = "ArgumentException2.xml";
                                break;
                            case "ArgumentException3":
                                cmnDao.SQLFileName = "ArgumentException3.xml";
                                break;
                            case "ArgumentException4":
                                cmnDao.SQLFileName = "ArgumentException4.xml";
                                break;
                            case "ArgumentException5":
                                cmnDao.SQLFileName = "ArgumentException5.xml";
                                break;
                            case "ArgumentException6":
                                cmnDao.SQLFileName = "ArgumentException6.xml";
                                break;
                            case "ArgumentException7":
                                cmnDao.SQLFileName = "ArgumentException7.xml";
                                break;
                            case "ArgumentException8":
                                cmnDao.SQLFileName = "ArgumentException8.xml";
                                break;
                            case "ArgumentException9":
                                cmnDao.SQLFileName = "ArgumentException9.xml";
                                break;
                            case "ArgumentException10":
                                cmnDao.SQLFileName = "ArgumentException10.xml";
                                break;
                            case "ArgumentException11":
                                cmnDao.SQLFileName = "ArgumentException11.xml";
                                break;
                            case "ArgumentException12":
                                cmnDao.SQLFileName = "ArgumentException12.xml";
                                break;
                            case "ArgumentException13":
                                cmnDao.SQLFileName = "ArgumentException13.xml";
                                break;
                            case "ArgumentException14":
                                cmnDao.SQLFileName = "ArgumentException14.xml";
                                break;
                            case "ArgumentException15":
                                cmnDao.SQLFileName = "ArgumentException15.xml";
                                break;
                            case "ArgumentException16":
                                cmnDao.SQLFileName = "ArgumentException16.xml";
                                break;
                            case "ArgumentException17":
                                cmnDao.SQLFileName = "ArgumentException17.xml";
                                break;
                            case "ArgumentException18":
                                cmnDao.SQLFileName = "ArgumentException18.xml";
                                break;
                            case "ArgumentException19":
                                cmnDao.SQLFileName = "ArgumentException19.xml";
                                break;
                            case "ArgumentException20":
                                cmnDao.SQLFileName = "ArgumentException20.xml";
                                break;
                            case "ArgumentException21":
                                cmnDao.SQLFileName = "ArgumentException21.xml";
                                break;
                            case "ArgumentException22":
                                cmnDao.SQLFileName = "ArgumentException22.xml";
                                break;
                            case "ArgumentException23":
                                cmnDao.SQLFileName = "ArgumentException23.xml";
                                break;
                        }
                        break;

                    case "dynamic":
                        // 動的SQLを指定
                        switch (testParameter.SelectCase)
                        {
                            case "ArgumentException0":
                                cmnDao.SQLFileName = "ArgumentException0.xml";
                                break;
                            case "ArgumentException1":
                                cmnDao.SQLFileName = "ArgumentException1.xml";
                                break;
                            case "ArgumentException2":
                                cmnDao.SQLFileName = "ArgumentException2.xml";
                                break;
                            case "ArgumentException3":
                                cmnDao.SQLFileName = "ArgumentException3.xml";
                                break;
                            case "ArgumentException4":
                                cmnDao.SQLFileName = "ArgumentException5.xml";
                                break;
                            case "ArgumentException5":
                                cmnDao.SQLFileName = "ArgumentException4.xml";
                                break;
                            case "ArgumentException6":
                                cmnDao.SQLFileName = "ArgumentException6.xml";
                                break;
                            case "ArgumentException8":
                                cmnDao.SQLFileName = "ArgumentException8.xml";
                                break;
                            case "ArgumentException9":
                                cmnDao.SQLFileName = "ArgumentException9.xml";
                                break;
                            case "ArgumentException10":
                                cmnDao.SQLFileName = "ArgumentException10.xml";
                                break;
                            case "ArgumentException11":
                                cmnDao.SQLFileName = "ArgumentException11.xml";
                                break;
                            case "ArgumentException12":
                                cmnDao.SQLFileName = "ArgumentException12.xml";
                                break;
                            case "ArgumentException13":
                                cmnDao.SQLFileName = "ArgumentException13.xml";
                                break;
                            case "ArgumentException14":
                                cmnDao.SQLFileName = "ArgumentException14.xml";
                                break;
                            case "ArgumentException15":
                                cmnDao.SQLFileName = "ArgumentException15.xml";
                                break;
                            case "ArgumentException16":
                                cmnDao.SQLFileName = "ArgumentException16.xml";
                                break;
                            case "ArgumentException17":
                                cmnDao.SQLFileName = "ArgumentException17.xml";
                                break;
                            case "ArgumentException18":
                                cmnDao.SQLFileName = "ArgumentException18.xml";
                                break;
                            case "ArgumentException19":
                                cmnDao.SQLFileName = "ArgumentException19.xml";
                                break;
                            case "ArgumentException20":
                                cmnDao.SQLFileName = "ArgumentException20.xml";
                                break;
                            case "ArgumentException21":
                                cmnDao.SQLFileName = "ArgumentException21.xml";
                                break;
                            case "ArgumentException22":
                                cmnDao.SQLFileName = "ArgumentException22.xml";
                                break;
                            case "ArgumentException23":
                                cmnDao.SQLFileName = "ArgumentException23.xml";
                                break;
                        }
                        break;
                }
                switch (testParameter.SelectCase)
                {
                    case "ArgumentException0":
                        if (testParameter.OrderColumn == "c1")
                        {
                            orderColumn = "CompanyName";
                        }
                        else if (testParameter.OrderColumn == "c2")
                        {
                            orderColumn = "CompanyName";
                        }
                        else if (testParameter.OrderColumn == "c3")
                        {
                            orderColumn = "CompanyName";
                        }

                        if (testParameter.OrderSequence == "A")
                        {
                            orderSequence = "ASC";
                        }
                        else if (testParameter.OrderSequence == "D")
                        {
                            orderSequence = "DESC";
                        }

                        // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                        cmnDao.SetParameter("P1", "test");
                        cmnDao.SetParameter("P2", "test");

                        // ユーザ入力は指定しない。
                        // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                        //    必要であれば、前後の空白を明示的に指定する必要がある。
                        cmnDao.SetUserParameter("COLUMN", orderColumn);
                        cmnDao.SetUserParameter("SEQUENCE", orderSequence);

                        cmnDao.SetParameter("j1", true);
                        cmnDao.SetParameter("if1", true);
                        cmnDao.SetParameter("s1", true);

                        cmnDao.SetParameter("j2", true);
                        cmnDao.SetParameter("if2", true);
                        cmnDao.SetParameter("s2", true);

                        cmnDao.SetParameter("j3", true);
                        cmnDao.SetParameter("if3", true);
                        cmnDao.SetParameter("s3", true);

                        cmnDao.SetParameter("j4", true);
                        cmnDao.SetParameter("if4", true);
                        cmnDao.SetParameter("s4", true);

                        // 戻り値 ds
                        DataSet ds = new DataSet();
                        //   -- 一覧を返すSELECTクエリを実行する
                        cmnDao.ExecSelectFill_DS(ds);
                        // ↑DBアクセス-----------------------------------------------------

                        // 戻り値を設定
                        testReturn.Obj = ds;
                        break;

                    case "ArgumentException1":
                        // ユーザ定義パラメタに対して、動的に値を設定する。
                        if (testParameter.OrderColumn == "c1")
                        {
                            orderColumn = "ShipperID";
                        }
                        else if (testParameter.OrderColumn == "c2")
                        {
                            orderColumn = "CompanyName";
                        }
                        else if (testParameter.OrderColumn == "c3")
                        {
                            orderColumn = "Phone";
                        }
                        else { }

                        if (testParameter.OrderSequence == "A")
                        {
                            orderSequence = "ASC";
                        }
                        else if (testParameter.OrderSequence == "D")
                        {
                            orderSequence = "DESC";
                        }
                        else { }

                        // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                        cmnDao.SetParameter("P1", "test");

                        // ユーザ入力は指定しない。
                        // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                        //    必要であれば、前後の空白を明示的に指定する必要がある。
                        cmnDao.SetUserParameter("COLUMN", " " + orderColumn + " ");
                        cmnDao.SetUserParameter("SEQUENCE", " " + orderSequence + " ");

                        // 戻り値 dt
                        DataTable dt = new DataTable();

                        // 共通Daoを実行
                        cmnDao.ExecSelectFill_DT(dt);

                        // 自動生成Daoを実行
                        testReturn.Obj = dt;
                        break;

                    case "ArgumentException2":
                        cmnDao.SetParameter("CompanyName", "test");
                        cmnDao.SetParameter("Phone", "testdescription");
                        //// 共通Daoを実行
                        //// 戻り値を設定
                        testReturn.Obj = cmnDao.ExecInsUpDel_NonQuery();
                        break;

                    case "ArgumentException3":
                        cmnDao.SetParameter("CompanyName", "test");
                        cmnDao.SetParameter("Phone", "testdescription");
                        //// 共通Daoを実行
                        //// 戻り値を設定
                        testReturn.Obj = cmnDao.ExecInsUpDel_NonQuery();
                        break;
                    case "ArgumentException4":
                        // ユーザ定義パラメタに対して、動的に値を設定する。


                        if (testParameter.OrderColumn == "c1")
                        {
                            orderColumn = "ShipperID";
                        }
                        else if (testParameter.OrderColumn == "c2")
                        {
                            orderColumn = "CompanyName";
                        }
                        else if (testParameter.OrderColumn == "c3")
                        {
                            orderColumn = "Phone";
                        }
                        else { }

                        if (testParameter.OrderSequence == "A")
                        {
                            orderSequence = "ASC";
                        }
                        else if (testParameter.OrderSequence == "D")
                        {
                            orderSequence = "DESC";
                        }
                        else { }

                        // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                        cmnDao.SetParameter("P1", "test");

                        // ユーザ入力は指定しない。
                        // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                        //    必要であれば、前後の空白を明示的に指定する必要がある。
                        cmnDao.SetUserParameter("COLUMN", " " + orderColumn + " ");
                        cmnDao.SetUserParameter("SEQUENCE", " " + orderSequence + " ");

                        // 戻り値 dt
                        DataTable dt1 = new DataTable();

                        // 共通Daoを実行
                        cmnDao.ExecSelectFill_DT(dt1);

                        // 自動生成Daoを実行
                        testReturn.Obj = dt1;
                        break;
                    case "ArgumentException5":
                        cmnDao.SetParameter("CompanyName", "test");
                        cmnDao.SetParameter("Phone", "testdescription");
                        //// 共通Daoを実行
                        //// 戻り値を設定
                        testReturn.Obj = cmnDao.ExecInsUpDel_NonQuery();
                        break;
                    case "ArgumentException6":
                        cmnDao.SetParameter("CompanyName", "test");
                        cmnDao.SetParameter("Phone", "testdescription");
                        //// 共通Daoを実行
                        //// 戻り値を設定
                        testReturn.Obj = cmnDao.ExecInsUpDel_NonQuery();
                        break;
                    case "ArgumentException7":
                        cmnDao.SetParameter("ShipperID", testParameter.ShipperID);
                        cmnDao.SetParameter("Set_CompanyName_forUPD", testParameter.CompanyName);
                        cmnDao.SetParameter("Set_Phone_forUPD", testParameter.Phone);
                        testReturn.Obj = cmnDao.ExecInsUpDel_NonQuery();
                        break;
                    case "ArgumentException8":
                        cmnDao.SetParameter("sel", "a1");
                        DataTable dt2 = new DataTable();
                        // 共通Daoを実行
                        cmnDao.ExecSelectFill_DT(dt2);

                        // 自動生成Daoを実行
                        testReturn.Obj = dt2;
                        break;
                    case "ArgumentException9":
                        cmnDao.SetParameter("sel", "a1");
                        DataTable dt3 = new DataTable();
                        // 共通Daoを実行
                        cmnDao.ExecSelectFill_DT(dt3);

                        // 自動生成Daoを実行
                        testReturn.Obj = dt3;
                        break;
                    case "ArgumentException10":
                    case "ArgumentException21":
                        cmnDao.SetParameter("sel", "a1");
                        DataTable dt4 = new DataTable();
                        // 共通Daoを実行
                        cmnDao.ExecSelectFill_DT(dt4);

                        // 自動生成Daoを実行
                        testReturn.Obj = dt4;
                        break;
                    case "ArgumentException11":
                        cmnDao.SetParameter("up", 28.5);
                        cmnDao.SetParameter("uis", 113);
                        cmnDao.SetParameter("uoo", 0);
                        cmnDao.SetParameter("rol", 25);
                        cmnDao.SetParameter("bit", 25);
                        ArrayList arr = new ArrayList();
                        arr.Add(1);
                        arr.Add(2);
                        arr.Add(3);
                        arr.Add(4);
                        arr.Add(5);
                        arr.Add(6);
                        arr.Add(7);
                        arr.Add(8);
                        cmnDao.SetParameter("PLIST", arr);
                        // ユーザ入力は指定しない。
                        // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                        //    必要であれば、前後の空白を明示的に指定する必要がある。
                        cmnDao.SetUserParameter("COLUMN", "" + orderColumn + "");
                        cmnDao.SetUserParameter("SEQUENCE", "" + orderSequence + "");

                        cmnDao.SetParameter("ISNOTNULL1", false);
                        cmnDao.SetParameter("ISNOTNULL2", false);
                        cmnDao.SetParameter("ISNOTNULL3", false);
                        // 戻り値 ds
                        // 戻り値 ds
                        DataSet ds1 = new DataSet();

                        //   -- 一覧を返すSELECTクエリを実行する
                        cmnDao.ExecSelectFill_DS(ds1);

                        // ↑DBアクセス-----------------------------------------------------

                        // 戻り値を設定
                        testReturn.Obj = ds1;
                        break;
                    case "ArgumentException12":
                        cmnDao.SetParameter("P", false);
                        DataSet ds2 = new DataSet();

                        //   -- 一覧を返すSELECTクエリを実行する
                        cmnDao.ExecSelectFill_DS(ds2);

                        // ↑DBアクセス-----------------------------------------------------

                        // 戻り値を設定
                        testReturn.Obj = ds2;
                        break;
                    case "ArgumentException13":
                        cmnDao.SetParameter("og", true);
                        DataSet ds3 = new DataSet();

                        //   -- 一覧を返すSELECTクエリを実行する
                        cmnDao.ExecSelectFill_DS(ds3);

                        // ↑DBアクセス-----------------------------------------------------

                        // 戻り値を設定
                        testReturn.Obj = ds3;
                        break;
                    case "ArgumentException14":
                    case "ArgumentException15":
                    case "ArgumentException16":

                        if (testParameter.OrderColumn == "c1")
                        {
                            orderColumn = "SUPPLIERID";
                        }
                        else if (testParameter.OrderColumn == "c2")
                        {
                            orderColumn = "SUPPLIERID";
                        }
                        else if (testParameter.OrderColumn == "c3")
                        {
                            orderColumn = "SUPPLIERID";
                        }

                        if (testParameter.OrderSequence == "A")
                        {
                            orderSequence = "ASC";
                        }
                        else if (testParameter.OrderSequence == "D")
                        {
                            orderSequence = "DESC";
                        }

                        // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。                
                        // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。                
                        cmnDao.SetParameter("up", 28.5);
                        cmnDao.SetParameter("uis", 113);
                        cmnDao.SetParameter("uoo", 0);
                        cmnDao.SetParameter("rol", 25);
                        cmnDao.SetParameter("bit", 25);
                        ArrayList arr1 = new ArrayList();
                        arr1.Add(1);
                        arr1.Add(2);
                        arr1.Add(3);
                        arr1.Add(4);
                        arr1.Add(5);
                        arr1.Add(6);
                        arr1.Add(7);
                        arr1.Add(8);
                        cmnDao.SetParameter("PLIST", arr1);
                        // ユーザ入力は指定しない。
                        // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                        //    必要であれば、前後の空白を明示的に指定する必要がある。
                        cmnDao.SetUserParameter("COLUMN", "" + orderColumn + "");
                        cmnDao.SetUserParameter("SEQUENCE", "" + orderSequence + "");

                        cmnDao.SetParameter("ISNOTNULL1", false);
                        cmnDao.SetParameter("ISNOTNULL2", false);
                        cmnDao.SetParameter("ISNOTNULL3", false);
                        // 戻り値 ds
                        // 戻り値 ds
                        DataSet ds5 = new DataSet();

                        //   -- 一覧を返すSELECTクエリを実行する
                        cmnDao.ExecSelectFill_DS(ds5);

                        // ↑DBアクセス-----------------------------------------------------

                        // 戻り値を設定
                        testReturn.Obj = ds5;
                        break;
                    case "ArgumentException17":
                    case "ArgumentException18":
                        cmnDao.SetParameter("sel", "a1");
                        // 戻り値 dt                
                        DataTable dt5 = new DataTable();
                        // 共通Daoを実行
                        cmnDao.ExecSelectFill_DT(dt5);

                        // 自動生成Daoを実行
                        testReturn.Obj = dt5;
                        break;
                    case "ArgumentException19":
                    case "ArgumentException20":
                        if (testParameter.OrderColumn == "c1")
                        {
                            orderColumn = "CompanyName";
                        }
                        else if (testParameter.OrderColumn == "c2")
                        {
                            orderColumn = "CompanyName";
                        }
                        else if (testParameter.OrderColumn == "c3")
                        {
                            orderColumn = "CompanyName";
                        }

                        if (testParameter.OrderSequence == "A")
                        {
                            orderSequence = "ASC";
                        }
                        else if (testParameter.OrderSequence == "D")
                        {
                            orderSequence = "DESC";
                        }

                        // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。                
                        cmnDao.SetParameter("P1", "test");
                        cmnDao.SetParameter("P2", "test1");

                        // ユーザ入力は指定しない。
                        // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                        //    必要であれば、前後の空白を明示的に指定する必要がある。
                        cmnDao.SetUserParameter("COLUMN", "" + orderColumn + "");
                        cmnDao.SetUserParameter("SEQUENCE", "" + orderSequence + "");

                        cmnDao.SetParameter("j1", true);
                        cmnDao.SetParameter("j2", true);
                        // 戻り値 ds
                        DataSet ds4 = new DataSet();

                        //   -- 一覧を返すSELECTクエリを実行する
                        cmnDao.ExecSelectFill_DS(ds4);

                        // ↑DBアクセス-----------------------------------------------------

                        // 戻り値を設定
                        testReturn.Obj = ds4;
                        break;
                    case "ArgumentException22":
                    case "ArgumentException23":
                        cmnDao.SetParameter("og", 1);
                        // 戻り値 ds
                        DataSet ds6 = new DataSet();

                        //   -- 一覧を返すSELECTクエリを実行する
                        cmnDao.ExecSelectFill_DS(ds6);

                        // ↑DBアクセス-----------------------------------------------------

                        // 戻り値を設定
                        testReturn.Obj = ds6;
                        break;
                }
                break;
        }
        // ↑業務処理-----------------------------------------------------

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
Beispiel #7
0
        /// <summary>業務処理を実装</summary>
        /// <param name="testParameter">引数クラス</param>
        private void UOC_SelectAll_DSQL(TestParameterValue testParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            TestReturnValue testReturn = new TestReturnValue();
            this.ReturnValue = testReturn;

            // ↓業務処理-----------------------------------------------------

            switch ((testParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((testParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.xml";
                            break;
                    }

                    // ユーザ定義パラメタに対して、動的に値を設定する。
                    string orderColumn = "";
                    string orderSequence = "";

                    if (testParameter.OrderColumn == "c1")
                    {
                        orderColumn = "ShipperID";
                    }
                    else if (testParameter.OrderColumn == "c2")
                    {
                        orderColumn = "CompanyName";
                    }
                    else if (testParameter.OrderColumn == "c3")
                    {
                        orderColumn = "Phone";
                    }
                    else { }

                    if (testParameter.OrderSequence == "A")
                    {
                        orderSequence = "ASC";
                    }
                    else if (testParameter.OrderSequence == "D")
                    {
                        orderSequence = "DESC";
                    }
                    else { }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", "test");

                    // ユーザ入力は指定しない。
                    // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                    //    必要であれば、前後の空白を明示的に指定する必要がある。
                    cmnDao.SetUserParameter("COLUMN", " " + orderColumn + " ");
                    cmnDao.SetUserParameter("SEQUENCE", " " + orderSequence + " ");

                    // 戻り値 dt
                    DataTable dt = new DataTable();

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 自動生成Daoを実行
                    testReturn.Obj = dt;

                    break;

                //case "generate": // 自動生成Daoを使用する。
                //    // 当該SQLなし
                //    break;

                default: // 個別Daoを使用する。
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.SelectAll_DSQL(testParameter, testReturn);
                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(testParameter);
        }
Beispiel #8
0
        /// <summary>1件取得処理を実装</summary>
        /// <param name="parameterValue">引数クラス</param>
        private void UOC_SelectRecord(_3TierParameterValue parameterValue)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            _3TierReturnValue returnValue = new _3TierReturnValue();
            this.ReturnValue = returnValue;

            // ↓業務処理-----------------------------------------------------

            // 共通Dao
            CmnDao cmnDao = new CmnDao(this.GetDam());

            // 検索条件の指定

            // AndEqualSearchConditions(主キー
            foreach (string k in parameterValue.AndEqualSearchConditions.Keys)
            {
                // nullチェック(null相当を要検討
                if (parameterValue.AndEqualSearchConditions[k] == null)
                {
                    // == null
                }
                else
                {
                    // != null

                    // 文字列の場合の扱い
                    if (parameterValue.AndEqualSearchConditions[k] is string)
                    {
                        if (!string.IsNullOrEmpty((string)parameterValue.AndEqualSearchConditions[k]))
                        {
                            // パラメタ指定
                            cmnDao.SetParameter(k, parameterValue.AndEqualSearchConditions[k]);
                        }
                    }
                    else
                    {
                        // パラメタ指定
                        cmnDao.SetParameter(k, parameterValue.AndEqualSearchConditions[k]);
                    }
                }
            }

            // DataTableをインスタンス化
            if (parameterValue.DataTableType == null)
            {
                // == null
                returnValue.Dt = new DataTable();
            }
            else
            {
                // != null

                // 型付きDataTable
                //(パブリック・デフォルト・コンストラクタ)
                returnValue.Dt =
                    (DataTable)parameterValue.DataTableType.InvokeMember(
                        null, BindingFlags.CreateInstance, null, null, null);
            }

            // SQLを設定して
            cmnDao.SQLFileName =
                this.DaoClassNameHeader + parameterValue.TableName + this.DaoClassNameFooter
                + "_" + this.MethodNameHeaderS + this.MethodLabel_Sel + this.MethodNameFooterS + ".xml";

            // パラメタは指定済み

            // DataTableを取得
            cmnDao.ExecSelectFill_DT(returnValue.Dt);

            // ↑業務処理-----------------------------------------------------
        }
Beispiel #9
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DT(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            muReturn.Bean = new Informations("");
            this.ReturnValue = muReturn;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLText = "SELECT * FROM Shippers";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>";
                            break;
                    }

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値をマーシャリングして設定
                    muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 自動生成Daoを実行
                    genDao.D2_Select(dt);

                    // 戻り値をマーシャリングして設定
                    muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                    break;

                default: // 個別Daoを使用する。

                    // 個別Daoを実行
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.SelectAll_DT(muParameter.ActionType, out dt);

                    // 戻り値をマーシャリングして設定
                    muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #10
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_Select(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            this.ReturnValue = muReturn;

            // 引数をアンマーシャル
            //DTTables dtts_in = Marshalling.StringToDTTables(muParameter.Value);
            //DTTable dtt_in = dtts_in[0];
            //DTRow dtrow_in = dtt_in.Rows[0];

            DTTables dtts_out = null;
            DTTable dtt_out = null;
            DTRow dtrow_out = null;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.xml";
                            break;
                    }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", muParameter.Value);

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // キャストの対策コードを挿入
                    dtt_out = new DTTable("ret");
                    dtt_out.Cols.Add(new DTColumn("ShipperID", DTType.Int32));
                    dtt_out.Cols.Add(new DTColumn("CompanyName", DTType.String));
                    dtt_out.Cols.Add(new DTColumn("Phone", DTType.String));
                    dtrow_out = dtt_out.Rows.AddNew();

                    // ・SQLの場合、ShipperIDのintがInt32型にマップされる。
                    // ・ODPの場合、ShipperIDのNUMBERがInt64型にマップされる。
                    // ・DB2の場合、ShipperIDのDECIMALがxxx型にマップされる。
                    if (dt.Rows[0].ItemArray.GetValue(0).GetType().ToString() == "System.Int32")
                    {
                        // Int32なのでキャスト
                        dtrow_out["ShipperID"] = (int)dt.Rows[0].ItemArray.GetValue(0);
                    }
                    else
                    {
                        // それ以外の場合、一度、文字列に変換してInt32.Parseする。
                        dtrow_out["ShipperID"] = int.Parse(dt.Rows[0].ItemArray.GetValue(0).ToString());
                    }

                    dtrow_out["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1);
                    dtrow_out["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2);

                    // 戻り値をマーシャリングして設定
                    dtts_out = new DTTables();
                    dtts_out.Add(dtt_out);
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // パラメタに対して、動的に値を設定する。
                    genDao.PK_ShipperID = muParameter.Value;

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 自動生成Daoを実行
                    genDao.S2_Select(dt);

                    // キャストの対策コードを挿入
                    dtt_out = new DTTable("ret");
                    dtt_out.Cols.Add(new DTColumn("ShipperID", DTType.Int32));
                    dtt_out.Cols.Add(new DTColumn("CompanyName", DTType.String));
                    dtt_out.Cols.Add(new DTColumn("Phone", DTType.String));
                    dtrow_out = dtt_out.Rows.AddNew();

                    // ・SQLの場合、ShipperIDのintがInt32型にマップされる。
                    // ・ODPの場合、ShipperIDのNUMBERがInt64型にマップされる。
                    // ・DB2の場合、ShipperIDのDECIMALがxxx型にマップされる。
                    if (dt.Rows[0].ItemArray.GetValue(0).GetType().ToString() == "System.Int32")
                    {
                        // Int32なのでキャスト
                        dtrow_out["ShipperID"] = (int)dt.Rows[0].ItemArray.GetValue(0);
                    }
                    else
                    {
                        // それ以外の場合、一度、文字列に変換してInt32.Parseする。
                        dtrow_out["ShipperID"] = int.Parse(dt.Rows[0].ItemArray.GetValue(0).ToString());
                    }

                    dtrow_out["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1);
                    dtrow_out["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2);

                    // 戻り値をマーシャリングして設定
                    dtts_out = new DTTables();
                    dtts_out.Add(dtt_out);
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;

                default: // 個別Daoを使用する。

                    // 個別Daoを実行
                    string companyName;
                    string phone;

                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.Select(muParameter.ActionType, muParameter.Value,
                        out companyName, out phone);

                    // 戻り値をマーシャリングして設定
                    dtt_out = new DTTable("ret");
                    dtt_out.Cols.Add(new DTColumn("ShipperID", DTType.Int32));
                    dtt_out.Cols.Add(new DTColumn("CompanyName", DTType.String));
                    dtt_out.Cols.Add(new DTColumn("Phone", DTType.String));
                    dtrow_out = dtt_out.Rows.AddNew();

                    dtrow_out["ShipperID"] = int.Parse(muParameter.Value);
                    dtrow_out["CompanyName"] = companyName;
                    dtrow_out["Phone"] = phone;
                    
                    dtts_out = new DTTables();
                    dtts_out.Add(dtt_out);
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #11
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DT(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            this.ReturnValue = muReturn;

            // 引数をアンマーシャル
            DTTables dtts_in = DTTables.StringToDTTables(muParameter.Value);
            DTTable dtt_in = dtts_in[0];
            //DTRow dtrow_in = dtt_in.Rows[0];

            DTTables dtts_out = null;
            //DTTable dtt_out = null;
            //DTRow dtrow_out = null;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLText = "SELECT * FROM Shippers";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>";
                            break;
                    }

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値をマーシャリングして設定
                    dtts_out = new DTTables();
                    dtts_out.Add(DTTable.FromDataTable(dt));
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 自動生成Daoを実行
                    genDao.D2_Select(dt);

                    // 戻り値をマーシャリングして設定
                    dtts_out = new DTTables();
                    dtts_out.Add(DTTable.FromDataTable(dt));
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;

                default: // 個別Daoを使用する。

                    // 個別Daoを実行
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.SelectAll_DT(muParameter.ActionType, out dt);

                    // 戻り値をマーシャリングして設定
                    dtts_out = new DTTables();
                    dtts_out.Add(DTTable.FromDataTable(dt));
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #12
0
        /// <summary>バッチ処理を実行する</summary>
        /// <param name="parameter">引数クラス</param>
        private void UOC_ExecuteBatchProcess(ExecuteBatchProcessParameterValue parameter)
        {
            // 戻り値クラスを生成して、事前に戻り値に設定しておく。
            this.ReturnValue = new VoidReturnValue();

            // ↓業務処理-----------------------------------------------------

            ArrayList pkList = parameter.SubPkList; //主キー一覧(1トランザクション分)
            DataTable dataTable = new DataTable();  //データ一覧(主キーを元に検索したデータ)

            //Ordersテーブルからデータを検索する
            // ↓DBアクセス-----------------------------------------------------
            // 共通Daoを生成
            CmnDao cmnDao = new CmnDao(this.GetDam());
            
            // 動的SQLを指定
            cmnDao.SQLFileName = "SelectInOrderID.xml";

            // パラメータを設定
            cmnDao.SetParameter("OrderID", pkList);

            // 共通Daoを実行
            cmnDao.ExecSelectFill_DT(dataTable);
            // ↑DBアクセス-----------------------------------------------------

            
            //Orders2テーブルに1件ずつ追加する
            for (int index = 0; index < dataTable.Rows.Count; index++)
            {
                DataRow row = dataTable.Rows[index];    //1件分のデータ

                //todo:編集処理など

                // ↓DBアクセス-----------------------------------------------------
                // 自動生成Daoを生成
                DaoOrders2 dao = new DaoOrders2(this.GetDam());

                // パラメータを設定
                dao.PK_OrderID = row["OrderID"];
                dao.CustomerID = row["CustomerID"];
                dao.EmployeeID = row["EmployeeID"];
                dao.OrderDate = row["OrderDate"];
                dao.RequiredDate = row["RequiredDate"];
                dao.ShippedDate = row["ShippedDate"];
                dao.ShipVia = row["ShipVia"];
                dao.Freight = row["Freight"];
                dao.ShipName = row["ShipName"];
                dao.ShipAddress = row["ShipAddress"];
                dao.ShipCity = row["ShipCity"];
                dao.ShipRegion = row["ShipRegion"];
                dao.ShipPostalCode = row["ShipPostalCode"];
                dao.ShipCountry = row["ShipCountry"];

                // 共通Daoを実行
                dao.S1_Insert();
                // ↑DBアクセス-----------------------------------------------------
            }
            
            // todo:中間コミット情報をDBに登録 ※最終処理主キー値の登録など

            // ↑業務処理-----------------------------------------------------
        }
Beispiel #13
0
        /// <summary>バッチ処理を実行する</summary>
        /// <param name="parameter">引数クラス</param>
        private void UOC_ExecuteBatchProcess(ExecuteBatchProcessParameterValue parameter)
        {
            // 戻り値クラスを生成して、事前に戻り値に設定しておく。
            this.ReturnValue = new VoidReturnValue();

            // ↓業務処理-----------------------------------------------------

            ArrayList pkList = parameter.SubPkList; //主キー一覧(1トランザクション分)
            DataTable dataTable = new DataTable();  //データ一覧(主キーを元に検索したデータ)

            //Ordersテーブルからデータを検索する
            // ↓DBアクセス-----------------------------------------------------
            // 共通Daoを生成
            CmnDao cmnDao = new CmnDao(this.GetDam());
            
            // 動的SQLを指定
            cmnDao.SQLFileName = "SelectInOrderID.xml";

            // パラメータを設定
            cmnDao.SetParameter("OrderID", pkList);

            // 共通Daoを実行
            cmnDao.ExecSelectFill_DT(dataTable);
            // ↑DBアクセス-----------------------------------------------------

            
            //Orders2テーブルに複数件まとめて追加する。
            StringBuilder sb = new StringBuilder();

            for (int index = 0; index < dataTable.Rows.Count; index++)
            {
                DataRow row = dataTable.Rows[index];    //1件分のデータ

                //todo:編集処理など

                // ↓DBアクセス-----------------------------------------------------
                // 自動生成Daoを生成
                DaoOrders2 dao = new DaoOrders2(this.GetDam());

                // パラメータを設定
                dao.PK_OrderID = row["OrderID"];
                dao.CustomerID = row["CustomerID"];
                dao.EmployeeID = row["EmployeeID"];
                dao.OrderDate = row["OrderDate"];
                dao.RequiredDate = row["RequiredDate"];
                dao.ShippedDate = row["ShippedDate"];
                dao.ShipVia = row["ShipVia"];
                dao.Freight = row["Freight"];
                dao.ShipName = row["ShipName"];
                dao.ShipAddress = row["ShipAddress"];
                dao.ShipCity = row["ShipCity"];
                dao.ShipRegion = row["ShipRegion"];
                dao.ShipPostalCode = row["ShipPostalCode"];
                dao.ShipCountry = row["ShipCountry"];

                // 自動生成Daoを実行
                sb.Append(dao.ExecGenerateSQL(
                    "DaoOrders2_S1_Insert.sql", new SQLUtility(DbEnum.DBMSType.SQLServer)) + ";\r\n");

                // ↑DBアクセス-----------------------------------------------------
            }

            // 共通Daoでバッチ更新
            CmnDao cd = new CmnDao(this.GetDam());
            cd.SQLText = sb.ToString();
            cd.ExecInsUpDel_NonQuery();

            // todo:中間コミット情報をDBに登録 ※最終処理主キー値の登録など

            // ↑業務処理-----------------------------------------------------
        }
Beispiel #14
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DSQL(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            this.ReturnValue = muReturn;

            // 引数をアンマーシャル
            DTTables dtts_in = DTTables.StringToDTTables(muParameter.Value);
            DTTable dtt_in = dtts_in[0];
            DTRow dtrow_in = dtt_in.Rows[0];

            DTTables dtts_out = null;
            //DTTable dtt_out = null;
            //DTRow dtrow_out = null;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.xml";
                            break;
                    }

                    // ユーザ定義パラメタに対して、動的に値を設定する。
                    string orderColumn = "";
                    string orderSequence = "";

                    if (dtrow_in["OrderColumn"].ToString() == "c1")
                    {
                        orderColumn = "ShipperID";
                    }
                    else if (dtrow_in["OrderColumn"].ToString() == "c2")
                    {
                        orderColumn = "CompanyName";
                    }
                    else if (dtrow_in["OrderColumn"].ToString() == "c3")
                    {
                        orderColumn = "Phone";
                    }
                    else { }

                    if (dtrow_in["OrderSequence"].ToString() == "A")
                    {
                        orderSequence = "ASC";
                    }
                    else if (dtrow_in["OrderSequence"].ToString() == "D")
                    {
                        orderSequence = "DESC";
                    }
                    else { }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", "test");

                    // ユーザ入力は指定しない。
                    // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                    //    必要であれば、前後の空白を明示的に指定する必要がある。
                    cmnDao.SetUserParameter("COLUMN", " " + orderColumn + " ");
                    cmnDao.SetUserParameter("SEQUENCE", " " + orderSequence + " ");

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値をマーシャリングして設定
                    dtts_out = new DTTables();
                    dtts_out.Add(DTTable.FromDataTable(dt));
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;

                //case "generate": // 自動生成Daoを使用する。
                //    // 当該SQLなし
                //    break;

                default: // 個別Daoを使用する。

                    // 個別Daoを実行
                    LayerD_mu myDao = new LayerD_mu(this.GetDam());
                    myDao.SelectAll_DSQL(
                        muParameter.ActionType,
                        dtrow_in["OrderColumn"].ToString(),
                        dtrow_in["OrderSequence"].ToString(), out dt);

                    // 戻り値をマーシャリングして設定
                    dtts_out = new DTTables();
                    dtts_out.Add(DTTable.FromDataTable(dt));
                    muReturn.Value = DTTables.DTTablesToString(dtts_out);

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #15
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_Select(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            this.ReturnValue = muReturn;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;
            Shipper shipper = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.xml";
                            break;
                    }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", muParameter.Bean.ToString());

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値を設定
                    shipper = new Shipper();
                    shipper.ShipperID = (int)muParameter.Bean;
                    shipper.CompanyName = (string)dt.Rows[0].ItemArray.GetValue(1);
                    shipper.Phone = (string)dt.Rows[0].ItemArray.GetValue(2);
                    muReturn.Bean = shipper;

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // パラメタに対して、動的に値を設定する。
                    genDao.PK_ShipperID = muParameter.Bean.ToString();

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 自動生成Daoを実行
                    genDao.S2_Select(dt);

                    // 戻り値を設定
                    shipper = new Shipper();
                    shipper.ShipperID = (int)muParameter.Bean;
                    shipper.CompanyName = (string)dt.Rows[0].ItemArray.GetValue(1);
                    shipper.Phone = (string)dt.Rows[0].ItemArray.GetValue(2);
                    muReturn.Bean = shipper;

                    break;

                default: // 個別Daoを使用する。
                    string companyName;
                    string phone;

                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.Select(muParameter.ActionType,
                        muParameter.Bean.ToString(),
                        out companyName, out phone);

                    // 戻り値を設定
                    shipper = new Shipper();
                    shipper.ShipperID = (int)muParameter.Bean;
                    shipper.CompanyName = companyName;
                    shipper.Phone = phone;
                    muReturn.Bean = shipper;

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #16
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DSQL(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            muReturn.Bean = new Informations("");
            this.ReturnValue = muReturn;

            // 引数をアンマーシャル
            Dictionary<string, string> dic = ((Informations)muParameter.Bean).Dictionary;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelectOrder.xml";
                            break;
                    }

                    // ユーザ定義パラメタに対して、動的に値を設定する。
                    string orderColumn = "";
                    string orderSequence = "";

                    if (dic["OrderColumn"].ToString() == "c1")
                    {
                        orderColumn = "ShipperID";
                    }
                    else if (dic["OrderColumn"].ToString() == "c2")
                    {
                        orderColumn = "CompanyName";
                    }
                    else if (dic["OrderColumn"].ToString() == "c3")
                    {
                        orderColumn = "Phone";
                    }
                    else { }

                    if (dic["OrderSequence"].ToString() == "A")
                    {
                        orderSequence = "ASC";
                    }
                    else if (dic["OrderSequence"].ToString() == "D")
                    {
                        orderSequence = "DESC";
                    }
                    else { }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", "test");

                    // ユーザ入力は指定しない。
                    // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                    //    必要であれば、前後の空白を明示的に指定する必要がある。
                    cmnDao.SetUserParameter("COLUMN", " " + orderColumn + " ");
                    cmnDao.SetUserParameter("SEQUENCE", " " + orderSequence + " ");

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値をマーシャリングして設定
                    muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                    break;

                //case "generate": // 自動生成Daoを使用する。
                //    // 当該SQLなし
                //    break;

                default: // 個別Daoを使用する。

                    // 個別Daoを実行
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.SelectAll_DSQL(
                        muParameter.ActionType,
                        dic["OrderColumn"].ToString(),
                        dic["OrderSequence"].ToString(), out dt);

                    // 戻り値をマーシャリングして設定
                    muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #17
0
        /// <summary>データ取得処理を実装</summary>
        /// <param name="parameterValue">引数クラス</param>
        private void UOC_SelectMethod(_3TierParameterValue parameterValue)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            _3TierReturnValue returnValue = new _3TierReturnValue();
            this.ReturnValue = returnValue;

            // ↓業務処理-----------------------------------------------------

            // 共通Dao
            CmnDao cmnDao = new CmnDao(this.GetDam());

            // 検索条件の生成&指定
            string whereSQL = this.SetSearchConditions(parameterValue, cmnDao);

            string selectPagingSqlTemplate = "";

            string p = ""; // パラメタ記号
            string s = ""; // 囲い記号開始
            string e = ""; // 囲い記号終了

            // テンプレート、囲い文字の選択
            if (parameterValue.DBMSType == DbEnum.DBMSType.SQLServer)
            {
                selectPagingSqlTemplate = SELECT_PAGING_SQL_TEMPLATE_SQL_SERVER;

                p = "@";
                s = "[";
                e = "]";
            }
            else if (parameterValue.DBMSType == DbEnum.DBMSType.Oracle)
            {
                selectPagingSqlTemplate = SELECT_PAGING_SQL_TEMPLATE_ORACLE;

                p = ":";
                s = "\"";
                e = "\"";
            }
            else
            {
                selectPagingSqlTemplate = SELECT_PAGING_SQL_TEMPLATE_SQL_SERVER;

                p = "@"; 
                s = "[";
                e = "]";
            }

            int startRowNum = parameterValue.StartRowIndex + 1;

            // SQL本体の生成(いろいろ組み込み
            //(DBMSによって可変となる可能性有り)
            string selectPagingSQL = string.Format(
                selectPagingSqlTemplate,
                new string[] {
                    parameterValue.ColumnList,
                    parameterValue.SortExpression,
                    parameterValue.SortDirection,
                    s + parameterValue.TableName + e , whereSQL,
                    startRowNum.ToString(), (startRowNum + parameterValue.MaximumRows).ToString()}
                ).Replace("_p_", p).Replace("_s_", s).Replace("_e_", e);

            // DataTableをインスタンス化
            if (parameterValue.DataTableType == null)
            {
                // == null
                returnValue.Dt = new DataTable();
            }
            else
            {
                // != null

                // 型付きDataTable
                //(パブリック・デフォルト・コンストラクタ)
                returnValue.Dt =
                    (DataTable)parameterValue.DataTableType.InvokeMember(
                        null, BindingFlags.CreateInstance, null, null, null);
            }

            // SQLを設定して
            cmnDao.SQLText = selectPagingSQL;

            // パラメタは指定済み

            // DataTableを取得
            cmnDao.ExecSelectFill_DT(returnValue.Dt);

            // ↑業務処理-----------------------------------------------------
        }
Beispiel #18
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_Select(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();
            muReturn.Bean = new Informations("");
            this.ReturnValue = muReturn;

            // 引数をアンマーシャル
            string shipperID = ((Informations)muParameter.Bean).Str;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;
            Dictionary<string, string> dic = null;

            switch ((muParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((muParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.xml";
                            break;
                    }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", shipperID);

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値を設定
                    dic = new Dictionary<string, string>();
                    dic["ShipperID"] = dt.Rows[0].ItemArray.GetValue(0).ToString();
                    dic["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1);
                    dic["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2);
                    muReturn.Bean = new Informations(dic);

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // パラメタに対して、動的に値を設定する。
                    genDao.PK_ShipperID = shipperID;

                    // 戻り値 dt
                    dt = new DataTable("rtn");

                    // 自動生成Daoを実行
                    genDao.S2_Select(dt);

                    // 戻り値を設定
                    dic = new Dictionary<string, string>();
                    dic["ShipperID"] = dt.Rows[0].ItemArray.GetValue(0).ToString();
                    dic["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1);
                    dic["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2);
                    muReturn.Bean = new Informations(dic);

                    break;

                default: // 個別Daoを使用する。
                    string companyName;
                    string phone;

                    // 個別Daoを実行
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.Select(muParameter.ActionType, shipperID,
                        out companyName, out phone);

                    // 戻り値を設定
                    dic = new Dictionary<string, string>();
                    dic["CompanyName"] = companyName;
                    dic["Phone"] = phone;
                    muReturn.Bean = new Informations(dic);

                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Beispiel #19
0
        /// <summary>業務処理を実装</summary>
        /// <param name="testParameter">引数クラス</param>
        private void UOC_SelectAll_DT(TestParameterValue testParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            TestReturnValue testReturn = new TestReturnValue();
            this.ReturnValue = testReturn;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;

            switch ((testParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((testParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLText = "SELECT * FROM Shippers";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>";
                            break;
                    }

                    // 戻り値 dt
                    dt = new DataTable();

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // 戻り値を設定
                    testReturn.Obj = dt;

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // 戻り値 dt
                    dt = new DataTable();

                    // 自動生成Daoを実行
                    genDao.D2_Select(dt);

                    // 戻り値を設定
                    testReturn.Obj = (DataTable)dt;
                    break;

                default: // 個別Daoを使用する。
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.SelectAll_DT(testParameter, testReturn);
                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(testParameter);
        }
Beispiel #20
0
        /// <summary>ワークフロー依頼を取得します。</summary>
        /// <param name="subSystemId">サブシステムID(任意)</param>
        /// <param name="workflowName">ワークフロー名(任意)</param>
        /// <param name="workflowControlNo">ワークフロー管理番号(任意)</param>
        /// <param name="userId">ワークフローの受信ユーザ(必須)</param>
        /// <param name="userPositionTitlesId">
        /// ユーザの職位ID(userIdが御中IDの場合は必須)
        /// </param>
        /// <returns>ワークフロー依頼の一覧</returns>
        /// <remarks>
        /// fromUsersId
        ///  御中IDでの呼び出しと、ユーザIDでの呼び出しは2回に分ける。
        /// </remarks>
        public DataTable GetWfRequest(
            string subSystemId, string workflowName, string workflowControlNo,
            decimal? userId, int? userPositionTitlesId)
        {
            // チェック処理を実装
            // なし。

            // --------------------------------------------------
            // ワークフローの依頼を取得
            // --------------------------------------------------
            // T_CurrentWorkflowのSELECT
            // --------------------------------------------------
            CmnDao dao = new CmnDao(this.Dam);

            dao.SQLFileName = "GetWfRequest.xml";

            // SubSystemId
            if (!string.IsNullOrEmpty(subSystemId))
            {
                dao.SetParameter("SubSystemId", subSystemId);
            }

            // WkflowName
            if (!string.IsNullOrEmpty(workflowName))
            {
                dao.SetParameter("WkflowName", workflowName);
            }

            // WorkflowControlNo
            if (!string.IsNullOrEmpty(workflowControlNo))
            {
                dao.SetParameter("WorkflowControlNo", workflowControlNo);
            }

            // ユーザID(必須)
            if (userId.HasValue)
            {
                dao.SetParameter("ToUserId", userId);
            }

            // ユーザの職位ID
            if (userPositionTitlesId.HasValue)
            {
                dao.SetParameter("ToUserPositionTitlesId", userPositionTitlesId);
            }

            // ワークフロー依頼を取得
            DataTable dt = new DataTable();
            dao.ExecSelectFill_DT(dt);

            // リターン
            return dt;
        }
Beispiel #21
0
        /// <summary>業務処理を実装</summary>
        /// <param name="testParameter">引数クラス</param>
        private void UOC_Select(TestParameterValue testParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            TestReturnValue testReturn = new TestReturnValue();
            this.ReturnValue = testReturn;

            // ↓業務処理-----------------------------------------------------
            DataTable dt = null;

            switch ((testParameter.ActionType.Split('%'))[1])
            {
                case "common": // 共通Daoを使用する。

                    // 共通Daoを生成
                    CmnDao cmnDao = new CmnDao(this.GetDam());

                    switch ((testParameter.ActionType.Split('%'))[2])
                    {
                        case "static":
                            // 静的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.sql";
                            break;

                        case "dynamic":
                            // 動的SQLを指定
                            cmnDao.SQLFileName = "ShipperSelect.xml";
                            break;
                    }

                    // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                    cmnDao.SetParameter("P1", testParameter.ShipperID);

                    // 戻り値 dt
                    dt = new DataTable();

                    // 共通Daoを実行
                    cmnDao.ExecSelectFill_DT(dt);

                    // キャストの対策コードを挿入

                    // ・SQLの場合、ShipperIDのintがInt32型にマップされる。
                    // ・ODPの場合、ShipperIDのNUMBERがInt64型にマップされる。
                    // ・DB2の場合、ShipperIDのDECIMALがxxx型にマップされる。
                    if (dt.Rows[0].ItemArray.GetValue(0).GetType().ToString() == "System.Int32")
                    {
                        // Int32なのでキャスト
                        testReturn.ShipperID = (int)dt.Rows[0].ItemArray.GetValue(0);
                    }
                    else
                    {
                        // それ以外の場合、一度、文字列に変換してInt32.Parseする。
                        testReturn.ShipperID = int.Parse(dt.Rows[0].ItemArray.GetValue(0).ToString());
                    }

                    testReturn.CompanyName = (string)dt.Rows[0].ItemArray.GetValue(1);
                    testReturn.Phone = (string)dt.Rows[0].ItemArray.GetValue(2);

                    break;

                case "generate": // 自動生成Daoを使用する。

                    // 自動生成Daoを生成
                    DaoShippers genDao = new DaoShippers(this.GetDam());

                    // パラメタに対して、動的に値を設定する。
                    genDao.PK_ShipperID = testParameter.ShipperID;

                    // 戻り値 dt
                    dt = new DataTable();

                    // 自動生成Daoを実行
                    genDao.S2_Select(dt);

                    // キャストの対策コードを挿入

                    // ・SQLの場合、ShipperIDのintがInt32型にマップされる。
                    // ・ODPの場合、ShipperIDのNUMBERがInt64型にマップされる。
                    // ・DB2の場合、ShipperIDのDECIMALがxxx型にマップされる。
                    if (dt.Rows[0].ItemArray.GetValue(0).GetType().ToString() == "System.Int32")
                    {
                        // Int32なのでキャスト
                        testReturn.ShipperID = (int)dt.Rows[0].ItemArray.GetValue(0);
                    }
                    else
                    {
                        // それ以外の場合、一度、文字列に変換してInt32.Parseする。
                        testReturn.ShipperID = int.Parse(dt.Rows[0].ItemArray.GetValue(0).ToString());
                    }

                    testReturn.CompanyName = (string)dt.Rows[0].ItemArray.GetValue(1);
                    testReturn.Phone = (string)dt.Rows[0].ItemArray.GetValue(2);

                    break;

                default: // 個別Daoを使用する。
                    LayerD myDao = new LayerD(this.GetDam());
                    myDao.Select(testParameter, testReturn);
                    break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(testParameter);
        }
Beispiel #22
0
    /// <summary>
    /// UOC_SelectCase Method
    /// </summary>
    /// <param name="testParameter">testParameter</param>
    private void UOC_SelectCase(TestParameterValue testParameter)
    {
        // 戻り値クラスを生成して、事前に戻り地に設定しておく。
        TestReturnValue testReturn = new TestReturnValue();
        this.ReturnValue = testReturn;

        // ↓業務処理-----------------------------------------------------

        switch ((testParameter.ActionType.Split('%'))[1])
        {
            case "generate":
                break;
            case "common": // 共通Daoを使用する。
            default:
                // 共通Daoを生成
                CmnDao cmnDao = new CmnDao(this.GetDam());

                switch ((testParameter.ActionType.Split('%'))[2])
                {
                    case "static":
                        switch (testParameter.SelectCase)
                        {
                            case "SelectCase1a":
                                cmnDao.SQLFileName = "select-case1a.dpq.xml";
                                break;
                            case "SelectCase1b":
                                cmnDao.SQLFileName = "select-case1b.dpq.xml";
                                break;
                            case "SelectCase2a":
                                cmnDao.SQLFileName = "select-case2a.dpq.xml";
                                break;
                            case "SelectCase2b":
                                cmnDao.SQLFileName = "select-case2b.dpq.xml";
                                break;
                            case "SelectCase3a":
                                cmnDao.SQLFileName = "select-case3a.dpq.xml";
                                break;
                            case "SelectCase3b":
                                cmnDao.SQLFileName = "select-case3b.dpq.xml";
                                break;
                            case "SelectCase4a":
                                cmnDao.SQLFileName = "select-case4a.dpq.xml";
                                break;
                            case "SelectCase4b":
                                cmnDao.SQLFileName = "select-case4b.dpq.xml";
                                break;
                            case "SelectCase5a":
                                cmnDao.SQLFileName = "select-case5a.dpq.xml";
                                break;
                            case "SelectCase5b":
                                cmnDao.SQLFileName = "select-case5b.dpq.xml";
                                break;
                            case "SelectCaseDefault1a":
                                cmnDao.SQLFileName = "select-case-default1a.dpq.xml";
                                break;
                            case "SelectCaseDefault1b":
                                cmnDao.SQLFileName = "select-case-default1b.dpq.xml";
                                break;
                            case "SelectCaseDefault2a":
                                cmnDao.SQLFileName = "select-case-default2a.dpq.xml";
                                break;
                            case "SelectCaseDefault2b":
                                cmnDao.SQLFileName = "select-case-default2b.dpq.xml";
                                break;
                            case "SelectCaseDefault3a":
                                cmnDao.SQLFileName = "select-case-default3a.dpq.xml";
                                break;
                            case "SelectCaseDefault3b":
                                cmnDao.SQLFileName = "select-case-default3b.dpq.xml";
                                break;
                            case "SelectCaseDefault4a":
                                cmnDao.SQLFileName = "select-case-default4a.dpq.xml";
                                break;
                            case "SelectCaseDefault4b":
                                cmnDao.SQLFileName = "select-case-default4b.dpq.xml";
                                break;
                           
                        }
                        break;

                    case "dynamic":
                        switch (testParameter.SelectCase)
                        {
                            case "SelectCase1a":
                                cmnDao.SQLFileName = "select-case1a.dpq.xml";
                                break;
                            case "SelectCase1b":
                                cmnDao.SQLFileName = "select-case1b.dpq.xml";
                                break;
                            case "SelectCase2a":
                                cmnDao.SQLFileName = "select-case2a.dpq.xml";
                                break;
                            case "SelectCase2b":
                                cmnDao.SQLFileName = "select-case2b.dpq.xml";
                                break;
                            case "SelectCase3a":
                                cmnDao.SQLFileName = "select-case3a.dpq.xml";
                                break;
                            case "SelectCase3b":
                                cmnDao.SQLFileName = "select-case3b.dpq.xml";
                                break;
                            case "SelectCase4a":
                                cmnDao.SQLFileName = "select-case4a.dpq.xml";
                                break;
                            case "SelectCase5a":
                                cmnDao.SQLFileName = "select-case5a.dpq.xml";
                                break;
                            case "SelectCase5b":
                                cmnDao.SQLFileName = "select-case5b.dpq.xml";
                                break;
                            case "SelectCase4b":
                                cmnDao.SQLFileName = "select-case4b.dpq.xml";
                                break;
                            case "SelectCaseDefault1a":
                                cmnDao.SQLFileName = "select-case-default1a.dpq.xml";
                                break;
                            case "SelectCaseDefault1b":
                                cmnDao.SQLFileName = "select-case-default1b.dpq.xml";
                                break;
                            case "SelectCaseDefault2a":
                                cmnDao.SQLFileName = "select-case-default2a.dpq.xml";
                                break;
                            case "SelectCaseDefault2b":
                                cmnDao.SQLFileName = "select-case-default2b.dpq.xml";
                                break;
                            case "SelectCaseDefault3a":
                                cmnDao.SQLFileName = "select-case-default3a.dpq.xml";
                                break;
                            case "SelectCaseDefault3b":
                                cmnDao.SQLFileName = "select-case-default3b.dpq.xml";
                                break;
                            case "SelectCaseDefault4a":
                                cmnDao.SQLFileName = "select-case-default4a.dpq.xml";
                                break;
                            case "SelectCaseDefault4b":
                                cmnDao.SQLFileName = "select-case-default4b.dpq.xml";
                                break;
                           
                        }
                        break;
                }

                switch (testParameter.SelectCase)
                {
                    // Select Case
                    case "SelectCase1a":
                        cmnDao.SetParameter("sel", "a1");
                        break;
                    case "SelectCase1b":
                        cmnDao.SetParameter("sel", 111);
                        break;
                    case "SelectCase2a":
                        cmnDao.SetParameter("sel", "b2");
                        break;
                    case "SelectCase2b":
                        cmnDao.SetParameter("sel", 222);
                        break;
                    case "SelectCase3a":
                        cmnDao.SetParameter("sel", "c3");
                        break;
                    case "SelectCase3b":
                        cmnDao.SetParameter("sel", 333);
                        break;
                    case "SelectCase4a":
                        cmnDao.SetParameter("sel", "xxx");
                        break;
                    case "SelectCase4b":
                        cmnDao.SetParameter("sel", 999);
                        break;
                    case "SelectCase5a":
                        break;
                    case "SelectCase5b":
                         cmnDao.SetParameter("sel", "");
                        break;

                    //Select Case Default
                    case "SelectCaseDefault1a":
                        cmnDao.SetParameter("sel", "a1");
                        break;
                    case "SelectCaseDefault1b":
                        cmnDao.SetParameter("sel", 111);
                        break;
                    case "SelectCaseDefault2a":
                        cmnDao.SetParameter("sel", "b2");
                        break;
                    case "SelectCaseDefault2b":
                        cmnDao.SetParameter("sel", 222);
                        break;
                    case "SelectCaseDefault3a":
                        cmnDao.SetParameter("sel", "c3");
                        break;
                    case "SelectCaseDefault3b":
                        cmnDao.SetParameter("sel", 333);
                        break;
                    case "SelectCaseDefault4a":
                        cmnDao.SetParameter("sel", "xxx");
                        break;
                    case "SelectCaseDefault4b":
                        cmnDao.SetParameter("sel", 999);
                        break;
                }
                // 戻り値 dt                
                DataTable dt = new DataTable();
                // 共通Daoを実行
                cmnDao.ExecSelectFill_DT(dt);

                // 自動生成Daoを実行
                testReturn.Obj = dt;
                break;
        }

        // ↑業務処理-----------------------------------------------------

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }