示例#1
0
    /// <summary>業務処理を実装</summary>
    /// <param name="testParameter">引数クラス</param>
    private void UOC_Invoke(TestParameterValue testParameter)
    { //メソッド引数にBaseParameterValueの派生の型を定義可能。

        // 戻り値クラスを生成して、事前に戻り地に設定しておく。
        TestReturnValue testReturn = new TestReturnValue();
        this.ReturnValue = testReturn;

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

        // データアクセス クラスを生成する
        DaoSuppliers daoSuppliers = new DaoSuppliers(this.GetDam());

        // 全件参照
        DataTable dt1 = new DataTable();
        daoSuppliers.D2_Select(dt1);

        // データアクセス クラスを生成する
        DaoCategories daoCategories = new DaoCategories(this.GetDam());

        // 実行
        DataTable dt2 = new DataTable();
        daoCategories.D2_Select(dt2);

        // 戻り値を戻す
        testReturn.Obj = new DataTable[] { dt1, dt2 };

        // ↑業務処理-----------------------------------------------------
    }
示例#2
0
文件: LayerB.cs 项目: krt/OpenTouryo
    /// <summary>業務処理を実装</summary>
    /// <param name="testParameter">引数クラス</param>
    private void UOC_メソッド名(TestParameterValue testParameter)
    { //メソッド引数にBaseParameterValueの派生の型を定義可能。

        // 戻り値クラスを生成して、事前に戻り地に設定しておく。
        TestReturnValue testReturn = new TestReturnValue();
        this.ReturnValue = testReturn;

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

        // 個別Dao
        LayerD myDao = new LayerD(this.GetDam());
        //myDao.xxxx(testParameter, ref testReturn);

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

        // ↑業務処理-----------------------------------------------------
    }
示例#3
0
    /// <summary>テンプレ</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void テンプレ(TestParameterValue testParameter, TestReturnValue testReturn)
    {

        // ↓DBアクセス-----------------------------------------------------

        // ● 下記のいづれかの方法でSQLを設定する。

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2("ファイル名");

        //   -- 直接指定する場合。
        this.SetSqlByCommand("SQL文");

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

        object obj;

        //   -- 追加、更新、削除の場合(件数を確認できる)
        obj = this.ExecInsUpDel_NonQuery();

        //   -- 先頭の1セル分の情報を返すSELECTクエリを実行する場合
        obj = this.ExecSelectScalar();

        //   -- テーブル(or レコード)の情報を返す
        //      SELECTクエリを実行する場合(引数 = データテーブル)
        obj = new DataTable();
        this.ExecSelectFill_DT((DataTable)obj);

        //   -- テーブル(or レコード)の情報を返す
        //      SELECTクエリを実行する場合(引数 = データセット)
        obj = new DataSet();
        this.ExecSelectFill_DS((DataSet)obj);

        //   -- データリーダを返す
        IDataReader idr = (IDataReader)this.ExecSelect_DR();

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

        // 戻り値を設定
        testReturn.Obj = obj;
    }
示例#4
0
    /// <summary>業務処理を実装</summary>
    /// <param name="testParameter">引数クラス</param>
    private void UOC_SelectCount(TestParameterValue testParameter)
    {
        // 戻り値クラスを生成して、事前に戻り地に設定しておく。
        TestReturnValue testReturn = new TestReturnValue();
        this.ReturnValue = testReturn;

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

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

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

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

                // 共通Daoを実行
                // 戻り値を設定
                testReturn.Obj = cmnDao.ExecSelectScalar();

                break;
        }

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

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
示例#5
0
    /// <summary>
    /// UOC_check Method
    /// </summary>
    /// <param name="testParameter">testParameter</param>
    private void UOC_check(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.check)
                        {
                            case "check_7a":
                                cmnDao.SQLFileName = "check_7a.xml";
                                break;
                            case "check_11a":
                                cmnDao.SQLFileName = "check_11a.xml";
                                break;
                            case "check_11c":
                                cmnDao.SQLFileName = "check_11c.xml";
                                break;
                            case "check_3f":
                                cmnDao.SQLFileName = "check_3f.xml";
                                break;
                            case "check_9c":
                                cmnDao.SQLFileName = "check_9c.xml";
                                break;
                            case "check_1":
                                cmnDao.SQLFileName = "check_1.xml";
                                break;
                            case "check_2":
                                cmnDao.SQLFileName = "check_2.xml";
                                break;
                            case "check_3":
                                cmnDao.SQLFileName = "check_3.xml";
                                break;
                            case "check_4":
                                cmnDao.SQLFileName = "check_4.xml";
                                break;
                            case "check_5":
                                cmnDao.SQLFileName = "check_5.xml";
                                break;
                        }
                        break;

                    case "dynamic":
                        switch (testParameter.check)
                        {
                            case "check_7a":
                                cmnDao.SQLFileName = "check_7a.xml";
                                break;
                            case "check_11a":
                                cmnDao.SQLFileName = "check_11a.xml";
                                break;
                            case "check_11c":
                                cmnDao.SQLFileName = "check_11c.xml";
                                break;
                            case "check_3f":
                                cmnDao.SQLFileName = "check_3f.xml";
                                break;
                            case "check_9c":
                                cmnDao.SQLFileName = "check_9c.xml";
                                break;
                            case "check_1":
                                cmnDao.SQLFileName = "check_1.xml";
                                break;
                            case "check_2":
                                cmnDao.SQLFileName = "check_2.xml";
                                break;
                            case "check_3":
                                cmnDao.SQLFileName = "check_3.xml";
                                break;
                            case "check_4":
                                cmnDao.SQLFileName = "check_4.xml";
                                break;
                            case "check_5":
                                cmnDao.SQLFileName = "check_5.xml";
                                break;
                        }
                        break;
                }

                switch (testParameter.check)
                {
                    case "check_7a":
                        ArrayList arr = new ArrayList();
                        arr.Add(1);
                        arr.Add(2);
                        arr.Add(3);
                        arr.Add(4);
                        cmnDao.SetParameter("PLIST", arr);
                        break;
                    case "check_11a":
                        cmnDao.SetParameter("P", false);
                        break;
                    case "check_11c":
                        cmnDao.SetParameter("P", true);
                        break;
                    case "check_3f":
                        cmnDao.SetParameter("og", true);
                        break;
                    case "check_9c":
                        cmnDao.SetParameter("P", null);
                        break;
                    case "check_1":
                        cmnDao.SetParameter("P", false);
                        break;
                    case "check_2":
                        // ユーザ定義パラメタに対して、動的に値を設定する。
                        string orderColumn = "";
                        string orderSequence = "";

                        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", "TEST");
                        cmnDao.SetParameter("j2", true);
                        break;
                    case "check_3":
                         cmnDao.SetParameter("P", 1);
                        break;
                    case "check_4":
                        cmnDao.SetParameter("Q", true);
                        break;
                    case "check_5":
                        cmnDao.SetParameter("P", true);
                        break;
                }
                // 戻り値 ds
                DataSet ds = new DataSet();

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

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

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

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

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
示例#6
0
    /// <summary>一覧を返すSELECTクエリを実行する</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void SelectCase(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        string filename = "";

        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            switch (testParameter.SelectCase)
            {
                case "SelectCase1a":
                    filename = "select-case1a.dpq.xml";
                    break;
                case "SelectCase1b":
                    filename = "select-case1b.dpq.xml";
                    break;
                case "SelectCase2a":
                    filename = "select-case2a.dpq.xml";
                    break;
                case "SelectCase2b":
                    filename = "select-case2b.dpq.xml";
                    break;
                case "SelectCase3a":
                    filename = "select-case3a.dpq.xml";
                    break;
                case "SelectCase3b":
                    filename = "select-case3b.dpq.xml";
                    break;
                case "SelectCase4a":
                    filename = "select-case4a.dpq.xml";
                    break;
                case "SelectCase4b":
                    filename = "select-case4b.dpq.xml";
                    break;
                case "SelectCaseDefault1a":
                    filename = "select-case-default1a.dpq.xml";
                    break;
                case "SelectCaseDefault1b":
                    filename = "select-case-default1b.dpq.xml";
                    break;
                case "SelectCaseDefault2a":
                    filename = "select-case-default2a.dpq.xml";
                    break;
                case "SelectCaseDefault2b":
                    filename = "select-case-default2b.dpq.xml";
                    break;
                case "SelectCaseDefault3a":
                    filename = "select-case-default3a.dpq.xml";
                    break;
                case "SelectCaseDefault3b":
                    filename = "select-case-default3b.dpq.xml";
                    break;
                case "SelectCaseDefault4a":
                    filename = "select-case-default4a.dpq.xml";
                    break;
                case "SelectCaseDefault4b":
                    filename = "select-case-default4b.dpq.xml";
                    break;
            }
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            switch (testParameter.SelectCase)
            {
                case "SelectCase1a":
                    filename = "select-case1a.dpq.xml";
                    break;
                case "SelectCase1b":
                    filename = "select-case1b.dpq.xml";
                    break;
                case "SelectCase2a":
                    filename = "select-case2a.dpq.xml";
                    break;
                case "SelectCase2b":
                    filename = "select-case2b.dpq.xml";
                    break;
                case "SelectCase3a":
                    filename = "select-case3a.dpq.xml";
                    break;
                case "SelectCase3b":
                    filename = "select-case3b.dpq.xml";
                    break;
                case "SelectCase4a":
                    filename = "select-case4a.dpq.xml";
                    break;
                case "SelectCase4b":
                    filename = "select-case4b.dpq.xml";
                    break;
                case "SelectCaseDefault1a":
                    filename = "select-case-default1a.dpq.xml";
                    break;
                case "SelectCaseDefault1b":
                    filename = "select-case-default1b.dpq.xml";
                    break;
                case "SelectCaseDefault2a":
                    filename = "select-case-default2a.dpq.xml";
                    break;
                case "SelectCaseDefault2b":
                    filename = "select-case-default2b.dpq.xml";
                    break;
                case "SelectCaseDefault3a":
                    filename = "select-case-default3a.dpq.xml";
                    break;
                case "SelectCaseDefault3b":
                    filename = "select-case-default3b.dpq.xml";
                    break;
                case "SelectCaseDefault4a":
                    filename = "select-case-default4a.dpq.xml";
                    break;
                case "SelectCaseDefault4b":
                    filename = "select-case-default4b.dpq.xml";
                    break;
            }
        }

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2(filename);
        switch (testParameter.SelectCase)
        {
            // Select Case
            case "SelectCase1a":
                this.SetParameter("sel", "a1");
                break;
            case "SelectCase1b":
                this.SetParameter("sel", 111);
                break;
            case "SelectCase2a":
                this.SetParameter("sel", "b2");
                break;
            case "SelectCase2b":
                this.SetParameter("sel", 222);
                break;
            case "SelectCase3a":
                this.SetParameter("sel", "c3");
                break;
            case "SelectCase3b":
                this.SetParameter("sel", 333);
                break;
            case "SelectCase4a":
                this.SetParameter("sel", "xxx");
                break;
            case "SelectCase4b":
                this.SetParameter("sel", 999);
                break;
            //Select Case Default
            case "SelectCaseDefault1a":
                this.SetParameter("sel", "a1");
                break;
            case "SelectCaseDefault1b":
                this.SetParameter("sel", 111);
                break;
            case "SelectCaseDefault2a":
                this.SetParameter("sel", "b2");
                break;
            case "SelectCaseDefault2b":
                this.SetParameter("sel", 222);
                break;
            case "SelectCaseDefault3a":
                this.SetParameter("sel", "c3");
                break;
            case "SelectCaseDefault3b":
                this.SetParameter("sel", 333);
                break;
            case "SelectCaseDefault4a":
                this.SetParameter("sel", "xxx");
                break;
            case "SelectCaseDefault4b":
                this.SetParameter("sel", 999);
                break;
        }

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

        //   -- 一覧を返すSELECTクエリを実行する
        this.ExecSelectFill_DT(dt);

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

        // 戻り値を設定
        testReturn.Obj = dt;
    }
示例#7
0
    /// <summary>Insertクエリを実行する</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void Insert(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2("ShipperInsert.sql");

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

        object obj;

        //   -- 追加(件数を確認できる)
        obj = this.ExecInsUpDel_NonQuery();

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

        // 戻り値を設定
        testReturn.Obj = obj;
    }
示例#8
0
    /// <summary>一覧を返すSELECTクエリを実行する</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void SelectAll_DSQL(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        string filename = "";

        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            filename = "ShipperSelectOrder.sql";
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            filename = "ShipperSelectOrder.xml";
        }

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2(filename);

        // ユーザ定義パラメタに対して、動的に値を設定する。
        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 { }

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

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

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

        //   -- 一覧を返すSELECTクエリを実行する
        this.ExecSelectFill_DT(dt);

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

        // 戻り値を設定
        testReturn.Obj = dt;
    }
示例#9
0
    /// <summary>一覧を返すSELECTクエリを実行する(DS)</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void SelectAll_DS(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        string commandText = "";

        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            commandText = "SELECT * FROM Shippers";
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            commandText =
                "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>";
            // 通常、動的SQLをSetSqlByCommandで直接指定するような使い方はしない。
        }

        //   -- 直接指定する場合。
        this.SetSqlByCommand(commandText);

        // 戻り値 ds
        DataSet ds = new DataSet();

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

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

        // 戻り値を設定
        testReturn.Obj = ds;
    }
示例#10
0
    /// <summary>件数情報を返すSELECTクエリを実行する</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void SelectCount(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        string filename = "";

        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            filename = "ShipperCount.sql";
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            filename = "ShipperCount.xml";
        }

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2(filename);

        object obj;

        //   -- 件数情報を返すSELECTクエリを実行する
        obj = this.ExecSelectScalar();

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

        // 戻り値を設定
        testReturn.Obj = obj;
    }
示例#11
0
文件: LayerB.cs 项目: krt/OpenTouryo
    /// <summary>業務処理を実装</summary>
    /// <param name="testParameter">引数クラス</param>
    private void UOC_SelectAll_DS(TestParameterValue testParameter)
    {
        // 戻り値クラスを生成して、事前に戻り地に設定しておく。
        TestReturnValue testReturn = new TestReturnValue();
        this.ReturnValue = testReturn;

        // ↓業務処理-----------------------------------------------------
        DataSet ds = 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;
                }

                // 戻り値 ds
                ds = new DataSet();

                // 共通Daoを実行
                cmnDao.ExecSelectFill_DS(ds);

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

                break;

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

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

                // 戻り値 ds
                ds = new DataSet();
                ds.Tables.Add(new DataTable());

                // 自動生成Daoを実行
                genDao.D2_Select(ds.Tables[0]);

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

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

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

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
示例#12
0
 /// <summary>
 /// UOC_GetID Method to get the current Identity value from Shippers table before running the test cases.
 /// </summary>
 /// <param name="testParameter">testParameter</param>
 private void UOC_GetID(TestParameterValue testParameter)
 {
     TestReturnValue testReturn = new TestReturnValue();
     this.ReturnValue = testReturn;
     BaseDam bd = (BaseDam)this.GetDam();
     bd.SetSqlByCommand(testParameter.ScreenId, CommandType.Text);
     DataTable dt = new DataTable();
     bd.ExecSelectFill_DT(dt);
     testReturn.Obj = dt.Rows[0].ItemArray.GetValue(0);
 }
示例#13
0
 /// <summary>
 /// UOC_GetDelete Method to Delete data added to shipper table after running test cases.
 /// </summary>
 /// <param name="testParameter">testParameter</param>
 private void UOC_GetDelete(TestParameterValue testParameter)
 {
     TestReturnValue testReturn = new TestReturnValue();
     this.ReturnValue = testReturn;
     BaseDam bd = (BaseDam)this.GetDam();
     bd.SetSqlByCommand(testParameter.ScreenId, CommandType.Text);
     int dlt = bd.ExecInsUpDel_NonQuery();
     testReturn.Obj = dlt;
 }
示例#14
0
 /// <summary>
 /// UOC_GetParametersFromPARAMTag Method
 /// </summary>
 /// <param name="testParameter">testParameter</param>
 private void UOC_GetParametersFromPARAMTag(TestParameterValue testParameter)
 {
     TestReturnValue testReturn = new TestReturnValue();
     this.ReturnValue = testReturn;
     BaseDam bd = (BaseDam)this.GetDam();
     bd.SetSqlByFile(testParameter.Filepath);
     DataTable dt = bd.GetParametersFromPARAMTag();
     testReturn.Obj = dt;
 }
示例#15
0
    /// <summary>
    /// UOC_edit Method
    /// </summary>
    /// <param name="testParameter">testParameter</param>
    private void UOC_edit(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 "edit_8e":
                                cmnDao.SQLFileName = "edit_8e.xml";
                                break;
                            case "edit_4e":
                                cmnDao.SQLFileName = "edit_4e.xml";
                                break;
                            case "edit_3e":
                                cmnDao.SQLFileName = "edit_3e.xml";
                                break;
                            case "edit_9a":
                                cmnDao.SQLFileName = "edit_9a.xml";
                                break;
                            case "edit_9b1":
                                cmnDao.SQLFileName = "edit_9b1.xml";
                                break;
                            case "edit_9c1":
                                cmnDao.SQLFileName = "edit_9c1.xml";
                                break;
                            case "edit_2a":
                                cmnDao.SQLFileName = "edit_2a.xml";
                                break;
                            case "edit_5e":
                                cmnDao.SQLFileName = "edit_5e.xml";
                                break;
                            case "edit_9e":
                                cmnDao.SQLFileName = "edit_9e.xml";
                                break;
                            case "edit_10e":
                                cmnDao.SQLFileName = "edit_10e.xml";
                                break;
                            case "edit_11e":
                                cmnDao.SQLFileName = "edit_11e.xml";
                                break;                            
                        }
                        break;

                    case "dynamic":
                        switch (testParameter.SelectCase)
                        {
                            case "edit_8e":
                                cmnDao.SQLFileName = "edit_8e.xml";
                                break;
                            case "edit_4e":
                                cmnDao.SQLFileName = "edit_4e.xml";
                                break;
                            case "edit_3e":
                                cmnDao.SQLFileName = "edit_3e.xml";
                                break;
                            case "edit_9a":
                                cmnDao.SQLFileName = "edit_9a.xml";
                                break;
                            case "edit_9b1":
                                cmnDao.SQLFileName = "edit_9b1.xml";
                                break;
                            case "edit_9c1":
                                cmnDao.SQLFileName = "edit_9c1.xml";
                                break;
                            case "edit_2a":
                                cmnDao.SQLFileName = "edit_2a.xml";
                                break;
                            case "edit_5e":
                                cmnDao.SQLFileName = "edit_5e.xml";
                                break;
                            case "edit_9e":
                                cmnDao.SQLFileName = "edit_9e.xml";
                                break;
                            case "edit_10e":
                                cmnDao.SQLFileName = "edit_10e.xml";
                                break;
                            case "edit_11e":
                                cmnDao.SQLFileName = "edit_11e.xml";
                                break;                          
                        }
                        break;
                }

                switch (testParameter.SelectCase)
                {
                    case "edit_4e":
                        ArrayList arr = new ArrayList();
                        arr.Add(1);
                        arr.Add(2);
                        cmnDao.SetParameter("PLIST", arr);
                        break;
                    case "edit_8e":
                        cmnDao.SetParameter("P", true);
                        break;
                    case "edit_3e":
                        cmnDao.SetParameter("og", null);
                        break;
                    case "edit_9a":
                        cmnDao.SetParameter("P", 1);
                        break;
                    case "edit_9b1":
                        cmnDao.SetParameter("P", 1);
                        break;
                    case "edit_9c1":
                        cmnDao.SetParameter("P", 1);
                        break;
                    case "edit_2a":
                        cmnDao.SetParameter("og", true);
                        break;
                    case "edit_5e":
                        break;
                    case "edit_9e":
                        cmnDao.SetParameter("P", null);
                        break;
                    case "edit_10e":
                        cmnDao.SetParameter("P", null);
                        break;
                    case "edit_11e":
                        cmnDao.SetParameter("P", null);
                        break;                  
                }
                // 戻り値 ds
                DataSet ds = new DataSet();

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

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

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

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
示例#16
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);
    }
示例#17
0
    /// <summary>
    /// check Method
    /// </summary>
    /// <param name="testParameter">testParameter</param>
    /// <param name="testReturn">testReturn</param>
    public void check(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------
        string filename = "";
        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            switch (testParameter.check)
            {
                case "check_7a":
                    filename = "check_7a.xml";
                    break;
                case "check_11a":
                    filename = "check_11a.xml";
                    break;
                case "check_11c":
                    filename = "check_11c.xml";
                    break;
            }
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            switch (testParameter.check)
            {
                case "check_7a":
                    filename = "check_7a.xml";
                    break;
                case "check_11a":
                    filename = "check_11a.xml";
                    break;
                case "check_11c":
                    filename = "check_11c.xml";
                    break;
            }
        }

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2(filename);
        switch (testParameter.check)
        {
            case "check_7a":
                ArrayList arr = new ArrayList();
                arr.Add(1);
                arr.Add(2);
                arr.Add(3);
                arr.Add(4);
                this.SetParameter("PLIST", arr);
                break;
            case "check_11a":
                this.SetParameter("P", false);
                break;
            case "check_11c":
                this.SetParameter("P", true);
                break;
        }

        // 戻り値 ds
        DataSet ds = new DataSet();

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

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

        // 戻り値を設定
        testReturn.Obj = ds;
    }
示例#18
0
文件: LayerB.cs 项目: krt/OpenTouryo
    /// <summary>業務処理を実装</summary>
    /// <param name="testParameter">引数クラス</param>
    private void UOC_SelectAll_DR(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();

                // 3列生成
                dt.Columns.Add("c1", System.Type.GetType("System.String"));
                dt.Columns.Add("c2", System.Type.GetType("System.String"));
                dt.Columns.Add("c3", System.Type.GetType("System.String"));

                // 共通Daoを実行
                IDataReader idr = cmnDao.ExecSelect_DR();

                while (idr.Read())
                {
                    // DRから読む
                    object[] objArray = new object[3];
                    idr.GetValues(objArray);

                    // DTに設定する。
                    DataRow dr = dt.NewRow();
                    dr.ItemArray = objArray;
                    dt.Rows.Add(dr);
                }

                // 終了したらクローズ
                idr.Close();

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

                break;

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

                // DRのI/Fなし

                // 自動生成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_DR(testParameter, testReturn);
                break;
        }

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

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
示例#19
0
    /// <summary>
    /// TestMethodForParamTag Method
    /// </summary>
    /// <param name="testParameter">testParameter</param>
    /// <param name="testReturn">testReturn</param>
    public void TestMethodForParamTag(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        BaseDam bd = (BaseDam)this.GetDam();
        bd.SetSqlByFile(testParameter.Filepath);

        DataTable dt = new DataTable();
        dt = bd.GetParametersFromPARAMTag();
        testReturn.Obj = dt;
    }
示例#20
0
文件: LayerB.cs 项目: krt/OpenTouryo
    /// <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);
    }
示例#21
0
    /// <summary>一覧を返すSELECTクエリを実行する(DR)</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void SelectAll_DR(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        string commandText = "";

        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            commandText = "SELECT * FROM Shippers";
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            commandText =
                "<?xml version=\"1.0\" encoding=\"shift_jis\" ?><ROOT>SELECT * FROM Shippers</ROOT>";
            // 通常、動的SQLをSetSqlByCommandで直接指定するような使い方はしない。
        }

        //   -- 直接指定する場合。
        this.SetSqlByCommand(commandText);

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

        // 3列生成
        dt.Columns.Add("c1", System.Type.GetType("System.String"));
        dt.Columns.Add("c2", System.Type.GetType("System.String"));
        dt.Columns.Add("c3", System.Type.GetType("System.String"));

        //   -- 一覧を返すSELECTクエリを実行する
        IDataReader idr = (IDataReader)this.ExecSelect_DR();

        while (idr.Read())
        {
            // DRから読む
            object[] objArray = new object[3];
            idr.GetValues(objArray);

            // DTに設定する。
            DataRow dr = dt.NewRow();
            dr.ItemArray = objArray;
            dt.Rows.Add(dr);
        }

        // 終了したらクローズ
        idr.Close();

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

        // 戻り値を設定
        testReturn.Obj = dt;
    }
示例#22
0
文件: LayerB.cs 项目: krt/OpenTouryo
    /// <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);
    }
示例#23
0
    /// <summary>1レコードを返すSELECTクエリを実行する</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void Select(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        string filename = "";

        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL          
            filename = "ShipperSelect.sql";
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            filename = "ShipperSelect.xml";
        }

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2(filename);

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


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

        //   -- 1レコードを返すSELECTクエリを実行する
        this.ExecSelectFill_DT(dt);

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

        //// 戻り値を設定 // 不要
        //testReturn.Obj = 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);
    }
示例#24
0
文件: LayerB.cs 项目: krt/OpenTouryo
    /// <summary>業務処理を実装</summary>
    /// <param name="testParameter">引数クラス</param>
    private void UOC_Insert(TestParameterValue testParameter)
    {
        // 戻り値クラスを生成して、事前に戻り地に設定しておく。
        TestReturnValue testReturn = new TestReturnValue();
        this.ReturnValue = testReturn;

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

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

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

                cmnDao.SQLFileName = "ShipperInsert.sql";

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

                // 共通Daoを実行
                // 戻り値を設定
                testReturn.Obj = cmnDao.ExecInsUpDel_NonQuery();

                break;

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

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

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

                // 自動生成Daoを実行
                // 戻り値を設定
                testReturn.Obj = genDao.D1_Insert();

                break;

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

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

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
示例#25
0
    /// <summary>Deleteクエリを実行する</summary>
    /// <param name="testParameter">引数クラス</param>
    /// <param name="testReturn">戻り値クラス</param>
    public void Delete(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------

        string filename = "";

        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            filename = "ShipperDelete.sql";
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            filename = "ShipperDelete.xml";
        }

        //   -- ファイルから読み込む場合。
        this.SetSqlByFile2(filename);

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

        object obj;

        //   -- 追削除(件数を確認できる)
        obj = this.ExecInsUpDel_NonQuery();

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

        // 戻り値を設定
        testReturn.Obj = obj;
    }
示例#26
0
文件: LayerB.cs 项目: krt/OpenTouryo
    /// <summary>業務処理を実装</summary>
    /// <param name="testParameter">引数クラス</param>
    private void UOC_Delete(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 = "ShipperDelete.sql";
                        break;

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

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

                // 共通Daoを実行
                // 戻り値を設定
                testReturn.Obj = cmnDao.ExecInsUpDel_NonQuery();

                break;

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

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

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

                // 自動生成Daoを実行
                // 戻り値を設定
                testReturn.Obj = genDao.S4_Delete();

                break;

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

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

        // ロールバックのテスト
        this.TestRollback(testParameter);
    }
示例#27
0
    /// <summary>
    /// TestSqlsvr4a Method
    /// </summary>
    /// <param name="testParameter">testParameter</param>
    /// <param name="testReturn">testReturn</param>
    public void TestSqlsvr4a(TestParameterValue testParameter, TestReturnValue testReturn)
    {
        // ↓DBアクセス-----------------------------------------------------
        string filename = "";
        if ((testParameter.ActionType.Split('%'))[2] == "static")
        {
            // 静的SQL
            filename = "testSqlsvr4a.dpq.xml";
        }
        else if ((testParameter.ActionType.Split('%'))[2] == "dynamic")
        {
            // 動的SQL
            filename = "testSqlsvr4a.dpq.xml";
            // 通常、動的SQLをSetSqlByCommandで直接指定するような使い方はしない。
        }
        this.SetSqlByFile2(filename);
        string orderColumn = "";
        string orderSequence = "";

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

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

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

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

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

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

        // 戻り値を設定
        testReturn.Obj = ds;
    }
示例#28
0
        /// <summary>CallBusinessLogic Method</summary>
        /// <param name="screen">screen ID</param>
        /// <param name="buttonID">Button ID</param>
        /// <param name="action">Control action name</param>
        /// <param name="dbGeneration">Db Generation</param>
        /// <param name="user">User Info</param>
        /// <param name="ipAddress">Ip address</param>
        /// <param name="isolationLevel">Isolation level</param>
        /// <param name="testParameterValue">Test Parameter values</param>
        /// <returns>resultTestReturnValue</returns>
        /// <returns>expectedTestReturnValue</returns>
        private void CallBusinessLogic(string screen, string buttonID, string action, string dbGeneration, string user, string ipAddress, string isolationLevel, TestParameterValue testParameterValue, out TestReturnValue resultTestReturnValue, out TestReturnValue expectedTestReturnValue)
        {
            // 分離レベルの設定
            DbEnum.IsolationLevelEnum iso = SelectIsolationLevel(isolationLevel);

            // B層を生成
            LayerB myBusiness = new LayerB();

            // 業務処理を実行
            resultTestReturnValue = (TestReturnValue)myBusiness.DoBusinessLogic((BaseParameterValue)testParameterValue, iso);
            expectedTestReturnValue = (TestReturnValue)myBusiness.DoBusinessLogic((BaseParameterValue)testParameterValue, iso);
        }
示例#29
0
    /// <summary>
    /// 業務処理を実装
    /// </summary>
    /// <param name="parameterValue">引数クラス</param>
    /// <param name="returnValue">戻り値クラス</param>
    protected override void UOC_DoAction(BaseParameterValue parameterValue, ref BaseReturnValue returnValue)
    {
        // 引数クラスをアップキャスト
        TestParameterValue testParameter = (TestParameterValue)parameterValue;

        // 戻り値クラスを生成
        TestReturnValue testReturn = new TestReturnValue();

        // 戻り値クラスをダウンキャストして戻す
        returnValue = (BaseReturnValue)testReturn;

        // ---

        // トランザクション パターンIDの領域
        string[] transactionPatternIDs;

        // トランザクション グループIDからトランザクション パターンIDを取得
        BaseLogic.GetTransactionPatterns(
            (string)testParameter.Obj, out transactionPatternIDs);

        // トランザクション パターンIDを設定
        testReturn.Obj = transactionPatternIDs;

        #region Damを初期化

        // トランザクション グループIDから取得した、
        // トランザクション パターンIDでDam初期化する。
        foreach (string transactionPatternID in transactionPatternIDs)
        {
            BaseDam tempDam = null;

            if (transactionPatternID.IndexOf("SQL") != -1)
            {
                // DamSqlSvrを初期化してセット
                tempDam = new DamSqlSvr();
                BaseLogic.InitDam(transactionPatternID, tempDam);
                this.SetDam(transactionPatternID, tempDam);
            }
            else if (transactionPatternID.IndexOf("ODP") != -1)
            {
                // DamOraOdpを初期化してセット
                tempDam = new DamOraOdp();
                BaseLogic.InitDam(transactionPatternID, tempDam);
                this.SetDam(transactionPatternID, tempDam);
            }
            else if (transactionPatternID.IndexOf("DB2") != -1)
            {
                // DamDB2を初期化してセット
                tempDam = new DamDB2();
                BaseLogic.InitDam(transactionPatternID, tempDam);
                this.SetDam(transactionPatternID, tempDam);
            }
            else if (transactionPatternID.IndexOf("MCN") != -1)
            {
                // DamMySQLを初期化してセット
                tempDam = new DamMySQL();
                BaseLogic.InitDam(transactionPatternID, tempDam);
                this.SetDam(transactionPatternID, tempDam);
            }
        }

        #endregion

        #region 終了時の状態選択

        #region Damの状態選択

        if ((parameterValue.ActionType.Split('%'))[2] == "UT")
        {
            // トランザクションあり
        }
        else if ((parameterValue.ActionType.Split('%'))[2] == "NT")
        {
            // トランザクションなし
            // → まえもってロールバックしておく

            // ロールバック
            foreach (string transactionPatternID in transactionPatternIDs)
            {
                this.GetDam(transactionPatternID).RollbackTransaction();
            }
        }
        else if ((parameterValue.ActionType.Split('%'))[2] == "NC")
        {
            // コネクションなし
            // → まえもってロールバック、コネクションクローズしておく
            //
            // ※ トランザクションを開始して
            //    コミットしないで閉じると、ロールバック扱い。

            // ロールバック
            foreach (string transactionPatternID in transactionPatternIDs)
            {
                this.GetDam(transactionPatternID).RollbackTransaction();
            }

            // コネクションクローズ
            foreach (string transactionPatternID in transactionPatternIDs)
            {
                this.GetDam(transactionPatternID).ConnectionClose();
            }
        }
        else if ((parameterValue.ActionType.Split('%'))[2] == "NULL")
        {
            // データアクセス制御クラス = Null
            // → まえもってロールバック、コネクションクローズ、Nullクリアしておく
            //
            // ※ トランザクションを開始して
            //    コミットしないで閉じると、ロールバック扱い。

            // ロールバック
            foreach (string transactionPatternID in transactionPatternIDs)
            {
                this.GetDam(transactionPatternID).RollbackTransaction();
            }

            // コネクションクローズ
            foreach (string transactionPatternID in transactionPatternIDs)
            {
                this.GetDam(transactionPatternID).ConnectionClose();
            }

            // Nullクリア
            foreach (string transactionPatternID in transactionPatternIDs)
            {
                this.SetDam(transactionPatternID, null);
            }
        }

        #endregion
    
        #region エラーのスロー

        if ((parameterValue.ActionType.Split('%'))[1] == "Business")
        {
            // 業務例外のスロー
            throw new BusinessApplicationException(
                "ロールバックのテスト",
                "ロールバックのテスト",
                "エラー情報");
        }
        else if ((parameterValue.ActionType.Split('%'))[1] == "System")
        {
            // システム例外のスロー
            throw new BusinessSystemException(
                "ロールバックのテスト",
                "ロールバックのテスト");
        }
        else if ((parameterValue.ActionType.Split('%'))[1] == "Other")
        {
            // その他、一般的な例外のスロー
            throw new Exception("ロールバックのテスト");
        }
        else if ((parameterValue.ActionType.Split('%'))[1] == "Other-Business")
        {
            // その他、一般的な例外(業務例外へ振り替え)のスロー
            throw new Exception("Other-Business");
        }
        else if ((parameterValue.ActionType.Split('%'))[1] == "Other-System")
        {
            // その他、一般的な例外(システム例外へ振り替え)のスロー
            throw new Exception("Other-System");
        }

        #endregion

        #endregion
    }
示例#30
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);
    }