/// <summary>コンストラクタ</summary> public DaoCategories(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> public Daots_test_table3(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> public DaoShippers(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> public DaoT_WorkflowHistory(BaseDam dam) : base(dam) { }
/// <summary>Damの初期化</summary> private void InitDam() { // Initializes dam this._dam = new DamSqlSvr(); this._dam.Obj = new MyUserInfo("WorkflowTest", "127.0.0.1"); // Gets the connection string from config and open the db connection this._dam.ConnectionOpen(GetConfigParameter.GetConnectionString("ConnectionString_SQL")); this._dam.BeginTransaction(DbEnum.IsolationLevelEnum.ReadCommitted); }
/// <summary>コンストラクタ</summary> public DaoT_CurrentWorkflow(BaseDam dam) : base(dam) { }
/// <summary>AsyncProcessingService用B層</summary> /// <param name="dam">dam</param> public LayerD(BaseDam dam) : base(dam) { }
/// <summary>Damの初期化</summary> private void InitDam() { // 現状SQLServerのみ対応 this._dam = new DamSqlSvr(); this._dam.Obj = new MyUserInfo("Workflow_Tool", "127.0.0.1"); this._dam.ConnectionOpen(this.txtCnnstr.Text); this._dam.BeginTransaction(DbEnum.IsolationLevelEnum.ReadCommitted); }
/// <summary>コンストラクタ</summary> public DaoProducts(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> public DaoOrder_Details(BaseDam dam) : base(dam) { }
// #14,15,23-start #region メソッド /// <summary>データアクセス制御クラス(DAM)を初期化する</summary> /// <param name="TransactionPatternID">トランザクション パターンID</param> /// <param name="dam">データアクセス制御クラス(DAM)インスタンス</param> public void InitDam(string TransactionPatternID, BaseDam dam) { // トランザクション制御情報を取得 string connectionString; DbEnum.IsolationLevelEnum isolevel; // 接続文字列, 分離レベルを取得 this.GetTCInfo(TransactionPatternID, out connectionString, out isolevel); if (isolevel == DbEnum.IsolationLevelEnum.NotConnect) { // コネクションを接続しない。 } else { // コネクションを初期化する。 dam.ConnectionOpen(connectionString); if (isolevel == DbEnum.IsolationLevelEnum.NoTransaction) { // トランザクションを開始しない。 } else { // トランザクションを開始する。 dam.BeginTransaction(isolevel); } } }
/// <summary>コンストラクタ</summary> public DaoEmployees(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> public DaoTerritories(BaseDam dam) : base(dam) { }
/// <summary> /// コンストラクタ /// </summary> /// <remarks> /// コンストラクタは継承されないので、派生先で呼び出す必要がある。 /// コンストラクタの実行順は、基本クラス→派生クラスの順 /// ※ VB.NET では、MyBase.New() を派生クラスのコンストラクタから呼ぶ。 /// 自由に利用できる。 /// </remarks> public MyBaseDao(BaseDam dam):base(dam) { }
/// <summary>データアクセス制御クラス(DAM)を設定する。</summary> /// <param name="key">データアクセス制御クラス(DAM)のキー</param> /// <param name="dam">データアクセス制御クラス(DAM)</param> /// <remarks>派生の業務コード親クラス2、業務コード クラスから利用する。</remarks> protected void SetDam(string key, BaseDam dam) { this._dams[key] = dam; }
/// <summary> /// 業務コード呼び出しメソッド(業務ロジックの入り口) /// </summary> /// <param name="parameterValue">引数クラス</param> /// <param name="iso">分離レベル(DBMS毎の分離レベルの違いを理解して設定すること)</param> /// <returns>戻り値クラス</returns> /// <remarks> /// クライアント側(2層C/S)用 /// 画面コード クラスから利用する。 /// </remarks> public BaseReturnValue DoBusinessLogic( BaseParameterValue parameterValue, DbEnum.IsolationLevelEnum iso) { // 戻り値クラス BaseReturnValue returnValue = null; // オリジナルのスタックトレース値のクリア this.OriginalStackTrace = ""; // データアクセス制御クラス(DAM)がグローバルなので、全てロックする。 lock (BaseLogic2CS._lock) { if (BaseLogic2CS._dam == null) { // データアクセス制御クラス(DAM)が無い場合 // ★データアクセス制御クラス(DAM)の生成し、コネクションを確立、 // トランザクションを開始する処理(業務フレームワークに、UOCで実装する) this.UOC_ConnectionOpen(parameterValue, iso); } else { // データアクセス制御クラス(DAM)が有る場合 } try { // 自動振り分け対応 this.WasCalledFromDoBusinessLogic = true; // ★前処理(業務フレームワークに、UOCで実装する) this.UOC_PreAction(parameterValue); // ★業務ロジックの実行(業務処理の派生クラスに、UOCで実装する) this.UOC_DoAction(parameterValue, ref returnValue); // ★後処理(業務フレームワークに、UOCで実装する) this.UOC_AfterAction(parameterValue, returnValue); //// トランザクション終了 //BaseLogic2CS._dam.CommitTransaction(); //// ★トランザクション完了後の後処理(業務フレームワークに、UOCで実装する) //this.UOC_AfterTransaction(parameterValue, returnValue); } catch (BusinessApplicationException baEx)// 業務例外 { // ★★業務例外時のロールバックは自動にしない。 // 業務例外の場合、エラーフラグをセットする。 // 戻り値がnullの場合は、生成する。 if (returnValue == null) { returnValue = new BaseReturnValue(); } returnValue.ErrorFlag = true; // メッセージを戻す(戻り値クラスに設定)。 returnValue.ErrorMessageID = baEx.messageID; returnValue.ErrorMessage = baEx.Message; returnValue.ErrorInfo = baEx.Information; // ★異常系の後処理(業務フレームワークに、UOCで実装する) this.UOC_ABEND(parameterValue, returnValue, baEx); // 正常系の戻り値にして戻すため、リスローしない。 } catch (BusinessSystemException bsEx)// システム例外 { // ★システム例外時は、自動的にロールバック。 // 2009/03/13---B層内:トランザクション手動制御を可能に(ここから) // トランザクションをロールバック if (BaseLogic2CS._dam == null) { // nullの場合はロールバックしない(何もしない)。 } else { // 例外対策(例外は潰さない) try { // nullでない場合はロールバックする。 BaseLogic2CS._dam.RollbackTransaction(); // コネクション クローズ BaseLogic2CS._dam.ConnectionClose(); } finally { // nullクリア(次回、再接続される。) BaseLogic2CS._dam = null; } } // 2009/03/13---B層内:トランザクション手動制御を可能に(ここまで) // 戻り値がnullの場合は、生成する。 if (returnValue == null) { returnValue = new BaseReturnValue(); } // ★異常系の後処理(業務フレームワークに、UOCで実装する) this.UOC_ABEND(parameterValue, returnValue, bsEx); // リスロー throw; } catch (Exception Ex)// その他、一般的な例外 { // ★その他、一般的な例外は、自動的にロールバック。 // 2009/03/13---B層内:トランザクション手動制御を可能に(ここから) // トランザクションをロールバック if (BaseLogic2CS._dam == null) { // nullの場合はロールバックしない(何もしない)。 } else { // 例外対策(例外は潰さない) try { // nullでない場合はロールバックする。 BaseLogic2CS._dam.RollbackTransaction(); // コネクション クローズ BaseLogic2CS._dam.ConnectionClose(); } finally { // nullクリア(次回、再接続される。) BaseLogic2CS._dam = null; } } // 2009/03/13---B層内:トランザクション手動制御を可能に(ここまで) // 戻り値がnullの場合は、生成する。 if (returnValue == null) { returnValue = new BaseReturnValue(); } // ★異常系の後処理(業務フレームワークに、UOCで実装する) this.UOC_ABEND(parameterValue, ref returnValue, Ex); // リスローしない(上記のUOC_ABENDで必要に応じてリスロー) // throw; } finally { // 自動振り分け対応 this.WasCalledFromDoBusinessLogic = false; // クライアント側(2層C/S)用では、マニュアル操作だが、 // ノートランザクションの時は、都度コネクションを閉じる。 // Damオブジェクトの存在チェック if (BaseLogic2CS._dam == null) { // nullのためなにもしない。 } else { // ノートランザクションの時は、都度コネクションを閉じる。 if (iso == DbEnum.IsolationLevelEnum.NoTransaction) { // 例外対策(例外は潰さない) try { // コネクション クローズ BaseLogic2CS._dam.ConnectionClose(); } finally { // nullクリア(次回の「DoBusinessLogic_2CS」で再接続される。) BaseLogic2CS._dam = null; } } } } } // 戻り値を戻す。 return returnValue; }
/// <summary>データアクセス制御クラス(DAM)を初期化する</summary> /// <param name="TransactionPatternID">トランザクション パターンID</param> /// <param name="dam">データアクセス制御クラス(DAM)インスタンス</param> /// <remarks>派生の業務コード親クラス2、業務コード クラスから利用する。</remarks> protected static void InitDam(string TransactionPatternID, BaseDam dam) { BaseLogic.TC.InitDam(TransactionPatternID, dam); }
// 2009/03/13---B層内:トランザクション手動制御を可能に(ここから) /// <summary>データアクセス制御クラス(DAM)を設定する。</summary> /// <param name="dam">データアクセス制御クラス(DAM)</param> /// <remarks>派生の業務コード親クラス2、業務コード クラスから利用する。</remarks> protected void SetDam(BaseDam dam) { // このメソッドはロックしない。 // ※ メンバ アクセス修飾子(protected)でガードしている。 BaseLogic2CS._dam = dam; }
/// <summary>コンストラクタ</summary> public DaoSuppliers(BaseDam dam) : base(dam) { }
/// <summary>データアクセス制御クラス(DAM)を初期化する</summary> /// <param name="businessID">業務ID</param> /// <param name="dam">データアクセス制御クラス(DAM)インスタンス</param> /// <remarks>派生の業務コード親クラス2、業務コード クラスから利用する。</remarks> protected static void InitDam(string businessID, BaseDam dam) { BaseLogic2CS.TC.InitDam(businessID, dam); }
/// <summary>コンストラクタ</summary> /// <remarks>自由に利用できる。</remarks> public CmnDao(BaseDam dam) : base(dam) { }
/// <summary>コネクション クローズ処理</summary> /// <remarks> /// トランザクションを開始していない場合のコネクションクローズの方法 /// 画面コード クラスから利用する。 /// </remarks> public static void ConnectionClose() { // データアクセス制御クラス(DAM)がグローバルなので、全てロックする。 lock (BaseLogic2CS._lock) { if (BaseLogic2CS._dam == null) { } else { // 例外対策(例外は潰さない) try { // コネクション クローズ BaseLogic2CS._dam.ConnectionClose(); } finally { // nullクリア(次回の「DoBusinessLogic_2CS」で再接続される。) BaseLogic2CS._dam = null; } } } }
/// <summary>コンストラクタ</summary> public _DaoClassName_(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> public DaoOrders(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> /// <param name="dam">データアクセス制御クラス</param> public Workflow(BaseDam dam) : base(dam) { // Baseのコンストラクタに引数を渡すために必要。 }
/// <summary>コンストラクタ</summary> /// <param name="dam">データアクセス制御クラス</param> public BaseConsolidateDao(BaseDam dam) { this._dam = dam; }
/// <summary>コンストラクタ</summary> /// <param name="dam">データアクセスオブジェクト</param> /// <remarks>業務コード クラスから利用する。</remarks> public BaseDao(BaseDam dam) { this._dam = dam; }
// 2009/03/13---B層内:トランザクション手動制御を可能に(ここから) /// <summary>データアクセス制御クラス(DAM)を設定する。</summary> /// <param name="dam">データアクセス制御クラス(DAM)</param> /// <remarks>派生の業務コード親クラス2、業務コード クラスから利用する。</remarks> protected void SetDam(BaseDam dam) { this._dam = dam; }
/// <summary>コンストラクタ</summary> public DaoM_Workflow(BaseDam dam) : base(dam) { }
/// <summary>コンストラクタ</summary> public DaoCustomers(BaseDam dam) : base(dam) { }