示例#1
0
        public async Task <ActionResult> SelectAll_DSQL(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // 動的SQLの要素を設定
                testParameterValue.OrderColumn   = model.DdlOrderColumn;
                testParameterValue.OrderSequence = model.DdlOrderSequence;

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;

                    // Ajax.BeginFormでは、UpdateTargetIdで指定した
                    // ターゲット以外を更新する場合、JavaScriptでの対応が必要。
                    // #ここではjQueryを使用している。
                    string scriptText = "$('#lblMessage').text('" + message + "');";
                    return(JavaScript(scriptText));
                }
                else
                {
                    // 結果(正常系)
                    model.shippers = new DsNorthwind.ShippersDataTable();
                    DataTable dt = (DataTable)testReturnValue.Obj;

                    foreach (DataRow row in dt.Rows)
                    {
                        DsNorthwind.ShippersRow srow = model.shippers.NewShippersRow();
                        srow.ShipperID   = int.Parse(row[0].ToString());
                        srow.CompanyName = row[1].ToString();
                        srow.Phone       = row[2].ToString();

                        model.shippers.Rows.Add(srow);
                    }
                }
            }
            // Ajax.BeginFormでは、以下のように記述することで部分更新が可能。
            return(PartialView("_ChartView", model));
        }
示例#2
0
        public async Task <ActionResult> SelectAll_DSQL(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // 動的SQLの要素を設定
                testParameterValue.OrderColumn   = model.DdlOrderColumn;
                testParameterValue.OrderSequence = model.DdlOrderSequence;

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;

                    // メッセージを設定。
                    model.Message = message;
                }
                else
                {
                    // 結果(正常系)
                    model.shippers = new DsNorthwind.ShippersDataTable();
                    DataTable dt = (DataTable)testReturnValue.Obj;

                    foreach (DataRow row in dt.Rows)
                    {
                        DsNorthwind.ShippersRow srow = model.shippers.NewShippersRow();
                        srow.ShipperID   = int.Parse(row[0].ToString());
                        srow.CompanyName = row[1].ToString();
                        srow.Phone       = row[2].ToString();

                        model.shippers.Rows.Add(srow);
                    }
                }
            }

            // 再表示(Html.BeginFormでは、全体更新。
            return(View("Index", model));
        }
        public async Task <ActionResult> Select(CrudViweModel model)
        {
            string scriptText = "";

            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // 動的SQLの要素を設定
                testParameterValue.Shipper = model.Shipper;

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(
                    testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;

                    // メッセージを設定。
                    model.Message = message;

                    // Ajax.BeginFormでは、以下のように記述することで部分更新が可能。
                    return(PartialView("_MessageView", model));
                }
                else
                {
                    // 結果(正常系)
                }

                // Ajax.BeginFormでは、UpdateTargetIdで指定した
                // ターゲット以外を更新する場合、JavaScriptでの対応が必要。
                // #ここではjQueryを使用している。
                ShipperViweModel svm = (ShipperViweModel)testReturnValue.Obj;
                scriptText = string.Format(
                    "$('#Shipper_ShipperID').val('{0}');$('#Shipper_CompanyName').val('{1}');$('#Shipper_Phone').val('{2}');",
                    svm.ShipperID, svm.CompanyName, svm.Phone);
            }

            return(JavaScript(scriptText));
        }
示例#4
0
        public async Task <ActionResult> Select(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // 動的SQLの要素を設定
                testParameterValue.ShipperID = int.Parse(model.ShipperID);

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;

                    // メッセージを設定。
                    model.Message = message;
                }
                else
                {
                    // 結果(正常系)
                    ModelState.Clear(); // ErrorのClearをしないと何故か設定できない。
                    model.ShipperID   = testReturnValue.ShipperID.ToString();
                    model.CompanyName = testReturnValue.CompanyName;
                    model.Phone       = testReturnValue.Phone;
                }
            }

            // 再表示(Html.BeginFormでは、全体更新。
            return(View("Index", model));
        }
示例#5
0
        public async Task <IActionResult> SelectAll_DSQL(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // 動的SQLの要素を設定
                testParameterValue.OrderColumn   = model.DdlOrderColumn;
                testParameterValue.OrderSequence = model.DdlOrderSequence;

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(
                    testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;

                    // メッセージを設定。
                    model.Message = message;
                }
                else
                {
                    // 結果(正常系)
                    model.Shippers = (List <ShipperViweModel>)testReturnValue.Obj;
                }
            }

            // 再表示(Html.BeginFormでは、全体更新。
            return(View("Index", model));
        }
示例#6
0
        public async Task <ActionResult> Update(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // 動的SQLの要素を設定
                testParameterValue.ShipperID   = int.Parse(model.ShipperID);
                testParameterValue.CompanyName = model.CompanyName;
                testParameterValue.Phone       = model.Phone;

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;
                }
                else
                {
                    // 結果(正常系)
                    message = testReturnValue.Obj.ToString() + "件更新";
                }

                // メッセージを設定。
                model.Message = message;
            }

            // Ajax.BeginFormでは、以下のように記述することで部分更新が可能。
            return(PartialView("_MessageView", model));
        }
        public async Task <ActionResult> SelectAll_DS(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(
                    testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;

                    // Ajax.BeginFormでは、UpdateTargetIdで指定した
                    // ターゲット以外を更新する場合、JavaScriptでの対応が必要。
                    // #ここではjQueryを使用している。
                    string scriptText = "$('#lblMessage').text('" + message + "');";
                    return(JavaScript(scriptText));
                }
                else
                {
                    // 結果(正常系)
                    model.Shippers = (List <ShipperViweModel>)testReturnValue.Obj;
                }
            }

            // Ajax.BeginFormでは、以下のように記述することで部分更新が可能。
            return(PartialView("_ChartView", model));
        }
示例#8
0
        public async Task <ActionResult> SelectCount(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;
                }
                else
                {
                    // 結果(正常系)
                    message = testReturnValue.Obj.ToString() + "件のデータがあります";
                }

                // メッセージを設定。
                model.Message = message;
            }

            // 再表示(Html.BeginFormでは、全体更新。
            return(View("Index", model));
        }
示例#9
0
        public async Task <IActionResult> Select(CrudViweModel model)
        {
            if (ModelState.IsValid)
            {
                // 引数クラスを生成。下位(B・D層)は、テスト クラスを流用する
                TestParameterValue testParameterValue
                    = new TestParameterValue(this.ControllerName, "-", this.ActionName,
                                             model.DdlDap + "%" + model.DdlMode1 + "%" + model.DdlMode2 + "%" + model.DdlExRollback, this.UserInfo);

                // 動的SQLの要素を設定
                testParameterValue.Shipper = model.Shipper;

                // B層呼出し+都度コミット
                LayerB          layerB          = new LayerB();
                TestReturnValue testReturnValue = (TestReturnValue)await layerB.DoBusinessLogicAsync(
                    testParameterValue, this.SelectIsolationLevel(model.DdlIso));

                // 結果表示するメッセージ
                string message = "";

                if (testReturnValue.ErrorFlag == true)
                {
                    // 結果(業務続行可能なエラー)
                    message  = "ErrorMessageID:" + testReturnValue.ErrorMessageID + ";";
                    message += "ErrorMessage:" + testReturnValue.ErrorMessage + ";";
                    message += "ErrorInfo:" + testReturnValue.ErrorInfo;

                    // メッセージを設定。
                    model.Message = message;
                }
                else
                {
                    // 結果(正常系)
                    ModelState.Clear(); // ErrorのClearをしないと何故か設定できない。

                    #region PocoToPocoのテストコード

                    ShipperViweModel     svm  = null;
                    TestShipperViweModel tsvm = null;

                    // テスト1
                    svm = (ShipperViweModel)BinarySerialize.DeepClone(model.Shipper);

                    if (testReturnValue.Obj2 != null)
                    {
                        PocoToPoco.Map <TestShipperViweModel, ShipperViweModel>(
                            (TestShipperViweModel)testReturnValue.Obj2, svm,
                            // mapの書き方は、Key-Valueでdst-srcのproperty field名を書く
                            new Dictionary <string, string>()
                        {
                            { "ShipperID", "_ShipperID" },
                            { "CompanyName", "_CompanyName" },
                            { "Phone", "_Phone" }
                        });

                        Debug.WriteLine("svm:" + ObjectInspector.Inspect(svm));
                    }

                    // テスト2
                    tsvm = PocoToPoco.Map <ShipperViweModel, TestShipperViweModel>(
                        (ShipperViweModel)testReturnValue.Obj, null,
                        // mapの書き方は、Key-Valueでdst-srcのproperty field名を書く
                        new Dictionary <string, string>()
                    {
                        { "_ShipperID", "ShipperID" },
                        { "_CompanyName", "CompanyName" },
                        { "_Phone", "Phone" }
                    });
                    Debug.WriteLine("tsvm:" + ObjectInspector.Inspect(tsvm));

                    #endregion

                    model.Shipper = (ShipperViweModel)testReturnValue.Obj;
                }
            }

            // 再表示(Html.BeginFormでは、全体更新。
            return(View("Index", model));
        }