本文整理汇总了C#中Touryo.Infrastructure.Framework.Common.BaseReturnValue类的典型用法代码示例。如果您正苦于以下问题:C# BaseReturnValue类的具体用法?C# BaseReturnValue怎么用?C# BaseReturnValue使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BaseReturnValue类属于Touryo.Infrastructure.Framework.Common命名空间,在下文中一共展示了BaseReturnValue类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UOC_DoAction
/// <summary>自動振り分け処理</summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
protected override void UOC_DoAction(BaseParameterValue parameterValue, ref BaseReturnValue returnValue)
{
// メソッド名を生成
string methodName = "UOC_" + parameterValue.MethodName;
#region レイトバインドする
object[] paramSet = new object[] { parameterValue };
try
{
// Latebind
Latebind.InvokeMethod(this, methodName, paramSet);
}
catch (System.Reflection.TargetInvocationException rtEx)
{
// InnerExceptionのスタックトレースを保存しておく(以下のリスローで消去されるため)。
this.OriginalStackTrace = rtEx.InnerException.StackTrace;
// InnerExceptionを投げなおす。
throw rtEx.InnerException;
}
finally
{
// レイトバインドにおいて、
// ・ 戻り値(in)の場合、下位で生成した戻り値インスタンスは戻らない。
// ・ 戻り値(ref, out)の場合、例外発生時は戻り値インスタンスは戻らない。
// という問題がある。
// ∴ (特に後者の対応のため、)
// メンバ変数を使用して戻り値インスタンスを戻す。
returnValue = this.ReturnValue;
}
#endregion
}
示例2: UOC_ABEND
/// <summary>
/// B層のシステム例外による異常終了の後処理を実装するUOCメソッド。
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
/// <param name="bsEx">BusinessSystemException</param>
/// <remarks>業務コード親クラス1から利用される派生の末端</remarks>
protected override void UOC_ABEND(BaseParameterValue parameterValue, BaseReturnValue returnValue, BusinessSystemException bsEx)
{
// システム例外発生時の処理を実装
// TODO:
// nullチェック
if (this.perfRec == null)
{
// なにもしない
}
else
{
// 性能測定終了
this.perfRec.EndsPerformanceRecord();
// ACCESSログ出力-----------------------------------------------
MyParameterValue myPV = (MyParameterValue)parameterValue;
// ------------
// メッセージ部
// ------------
// ユーザ名, IPアドレス, レイヤ,
// 画面名, コントロール名, メソッド名, 処理名
// 処理時間(実行時間), 処理時間(CPU時間)
// エラーメッセージID, エラーメッセージ等
// ------------
string strLogMessage =
"," + myPV.User.UserName +
"," + myPV.User.IPAddress +
"," + "<<-----" +
"," + myPV.ScreenId +
"," + myPV.ControlId +
"," + myPV.MethodName +
"," + myPV.ActionType +
"," + this.perfRec.ExecTime +
"," + this.perfRec.CpuTime +
"," + bsEx.messageID +
"," + bsEx.Message + "\r\n";
// OriginalStackTrace(ログ出力)の品質向上
if (this.OriginalStackTrace == "")
{
strLogMessage += bsEx.StackTrace;
}
else
{
strLogMessage += this.OriginalStackTrace;
}
// Log4Netへログ出力
LogIF.ErrorLog("ACCESS", strLogMessage);
}
// -------------------------------------------------------------
}
示例3: UOC_AfterAction
/// <summary>
/// B層の終了処理を実装
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
/// <remarks>業務コード親クラス1から利用される派生の末端</remarks>
protected override void UOC_AfterAction(BaseParameterValue parameterValue, BaseReturnValue returnValue)
{
// 性能測定終了
this.perfRec.EndsPerformanceRecord();
// ACCESSログ出力-----------------------------------------------
MyParameterValue myPV = (MyParameterValue)parameterValue;
// ------------
// メッセージ部
// ------------
// ユーザ名, IPアドレス, レイヤ,
// 画面名, コントロール名, メソッド名, 処理名
// 処理時間(実行時間), 処理時間(CPU時間)
// ------------
string strLogMessage =
"," + myPV.User.UserName +
"," + myPV.User.IPAddress +
"," + "<<-----" +
"," + myPV.ScreenId +
"," + myPV.ControlId +
"," + myPV.MethodName +
"," + myPV.ActionType +
"," + this.perfRec.ExecTime +
"," + this.perfRec.CpuTime;
// Log4Netへログ出力
LogIF.InfoLog("ACCESS", strLogMessage);
// -------------------------------------------------------------
}
示例4: UOC_AfterTransaction
/// <summary>
/// B層のトランザクションのコミット後の終了処理を実装
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
/// <remarks>業務コード親クラス1から利用される派生の末端</remarks>
protected override void UOC_AfterTransaction(BaseParameterValue parameterValue, BaseReturnValue returnValue)
{
// TODO:
}
示例5: UOC_DoAction
/// <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();
}
//.........这里部分代码省略.........
示例6: UOC_ABEND
/// <summary>
/// B層の業務例外による異常終了の後処理を実装するUOCメソッド。
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
/// <param name="baEx">BusinessApplicationException</param>
/// <remarks>業務コード親クラス1から利用される派生の末端</remarks>
protected override void UOC_ABEND(BaseParameterValue parameterValue, BaseReturnValue returnValue, BusinessApplicationException baEx)
{
// 業務例外発生時の処理を実装
// TODO:
// nullチェック
if (this.perfRec == null)
{
// なにもしない
}
else
{
// 性能測定終了
this.perfRec.EndsPerformanceRecord();
// ACCESSログ出力-----------------------------------------------
MyParameterValue myPV = (MyParameterValue)parameterValue;
// ------------
// メッセージ部
// ------------
// ユーザ名, 画面名, コントロール名 メソッド名, 処理名
// 処理時間(実行時間), 処理時間(CPU時間)
// エラーメッセージID, エラーメッセージ等
// ------------
string strLogMessage =
"," + myPV.User.UserName +
"," + myPV.ScreenId +
"," + myPV.ControlId +
"," + myPV.MethodName +
"," + myPV.ActionType +
"," + this.perfRec.ExecTime +
"," + this.perfRec.CpuTime +
"," + baEx.messageID +
"," + baEx.Message;
// Log4Netへログ出力
LogIF.WarnLog("ACCESS", strLogMessage);
}
// -------------------------------------------------------------
}
示例7: UOC_ABEND
/// <summary>
/// B層のシステム例外による異常終了の後処理を実装するUOCメソッド。
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
/// <param name="bsEx">BusinessSystemException</param>
/// <remarks>派生の業務コード親クラス2でオーバーライドする。</remarks>
protected virtual void UOC_ABEND(BaseParameterValue parameterValue, BaseReturnValue returnValue, BusinessSystemException bsEx) { }
示例8: UOC_AfterTransaction
/// <summary>
/// B層のトランザクションのコミット後の終了処理を実装
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
/// <remarks>派生の業務コード親クラス2でオーバーライドする。</remarks>
protected virtual void UOC_AfterTransaction(BaseParameterValue parameterValue, BaseReturnValue returnValue) { }
示例9: UOC_DoAction
/// <summary>
/// 業務処理を実装
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
/// <remarks>派生の業務コード クラスでオーバーライドする。</remarks>
protected abstract void UOC_DoAction(BaseParameterValue parameterValue, ref BaseReturnValue returnValue);
示例10: DoBusinessLogic
/// <summary>
/// 業務コード呼び出しメソッド(業務ロジックの入り口)
/// </summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="iso">分離レベル(DBMS毎の分離レベルの違いを理解して設定すること)</param>
/// <returns>戻り値クラス</returns>
/// <remarks>画面コード クラスから利用する。</remarks>
public BaseReturnValue DoBusinessLogic(
BaseParameterValue parameterValue, DbEnum.IsolationLevelEnum iso)
{
// 戻り値クラス
BaseReturnValue returnValue = null;
// オリジナルのスタックトレース値のクリア
this.OriginalStackTrace = "";
// ★データアクセス制御クラス(DAM)の生成し、コネクションを確立、
// トランザクションを開始する処理(業務フレームワークに、UOCで実装する)
// this._dam = this.UOC_ConnectionOpen(parameterValue, iso);
this.UOC_ConnectionOpen(parameterValue, iso);
try
{
// 自動振り分け対応
this.WasCalledFromDoBusinessLogic = true;
// ★前処理(業務フレームワークに、UOCで実装する)
this.UOC_PreAction(parameterValue);
// ★業務ロジックの実行(業務処理の派生クラスに、UOCで実装する)
this.UOC_DoAction(parameterValue, ref returnValue);
// ★後処理(業務フレームワークに、UOCで実装する)
this.UOC_AfterAction(parameterValue, returnValue);
#region トランザクションをコミット
// 2009/03/13---B層内:トランザクション手動制御を可能に(ここから)
if (this._dam == null)
{
// nullの場合はコミットしない(何もしない)。
}
else
{
// nullでない場合はコミットする。
this._dam.CommitTransaction();
}
// 2009/03/13---B層内:トランザクション手動制御を可能に(ここまで)
// 2009/03/28---データアクセス制御クラスを配列化(ここから)
foreach (string key in this._dams.Keys)
{
// ここはforeachで取るので「キーなし」にならない
if (this._dams[key] == null)
{
// nullの場合はコミットしない(何もしない)。
}
else
{
// nullでない場合はコミットする。
((BaseDam)this._dams[key]).CommitTransaction();
}
}
// 2009/03/28---データアクセス制御クラスを配列化(ここまで)
#endregion
// ★トランザクション完了後の後処理(業務フレームワークに、UOCで実装する)
this.UOC_AfterTransaction(parameterValue, returnValue);
}
catch (BusinessApplicationException baEx)// 業務例外
{
#region トランザクションをロールバック
// 2009/03/13---B層内:トランザクション手動制御を可能に(ここから)
if (this._dam == null)
{
// nullの場合はロールバックしない(何もしない)。
}
else
{
// nullでない場合はロールバックする。
this._dam.RollbackTransaction();
}
// 2009/03/13---B層内:トランザクション手動制御を可能に(ここまで)
// 2009/03/28---データアクセス制御クラスを配列化(ここから)
foreach (string key in this._dams.Keys)
{
// ここはforeachで取るので「キーなし」にならない
if (this._dams[key] == null)
{
// nullの場合はロールバックしない(何もしない)。
//.........这里部分代码省略.........
示例11: DoBusinessLogic
/// <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();
}
//.........这里部分代码省略.........
示例12: UOC_DoAction
/// <summary>業務処理を実装</summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
protected override void UOC_DoAction(BaseParameterValue parameterValue, ref BaseReturnValue returnValue)
{
// 戻り値を生成しておく。
returnValue = new MyReturnValue();
// 自動トランザクションで開始したトランザクションを閉じる。
this.GetDam().CommitTransaction();
// コネクションを閉じる。
this.GetDam().ConnectionClose();
// データアクセス制御クラスをクリア。
this.SetDam(null);
// Dam用ワーク
BaseDam damWork;
// 共通Dao
CmnDao cmnDao;
// SQLの戻り値を受ける
object obj;
#region SQL Server
#region SQL_NT
// Damを生成
damWork = new DamSqlSvr();
// Damを初期化
BaseLogic.InitDam("SQL_NT", damWork);
// Damを設定
this.SetDam("SQL_NT", damWork);
// インサート
// Damを直接使用することもできるが、
// 通常は、データアクセスにはDaoを使用する。
cmnDao = new CmnDao(this.GetDam("SQL_NT"));
cmnDao.SQLText = "INSERT INTO Shippers(CompanyName, Phone) VALUES('SQL_NT', 'SQL_NT')";
obj = (object)cmnDao.ExecSelectScalar();
//this.GetDam("SQL_NT").CommitTransaction();
//this.GetDam("SQL_NT").ConnectionClose();
#endregion
#region SQL_UC
// Damを生成
damWork = new DamSqlSvr();
// Damを初期化
BaseLogic.InitDam("SQL_UC", damWork);
// Damを設定
this.SetDam("SQL_UC", damWork);
// インサート
// Damを直接使用することもできるが、
// 通常は、データアクセスにはDaoを使用する。
cmnDao = new CmnDao(this.GetDam("SQL_UC"));
cmnDao.SQLText = "INSERT INTO Shippers(CompanyName, Phone) VALUES('SQL_UC', 'SQL_UC')";
obj = (object)cmnDao.ExecSelectScalar();
//this.GetDam("SQL_UC").CommitTransaction();
//this.GetDam("SQL_UC").ConnectionClose();
#endregion
#region SQL_RC
// Damを生成
damWork = new DamSqlSvr();
// Damを初期化
BaseLogic.InitDam("SQL_RC", damWork);
// Damを設定
this.SetDam("SQL_RC", damWork);
// インサート
// Damを直接使用することもできるが、
// 通常は、データアクセスにはDaoを使用する。
cmnDao = new CmnDao(this.GetDam("SQL_RC"));
cmnDao.SQLText = "INSERT INTO Shippers(CompanyName, Phone) VALUES('SQL_RC', 'SQL_RC')";
obj = (object)cmnDao.ExecSelectScalar();
//this.GetDam("SQL_RC").CommitTransaction();
//this.GetDam("SQL_RC").ConnectionClose();
#endregion
#region SQL_RR
// Damを生成
damWork = new DamSqlSvr();
// Damを初期化
BaseLogic.InitDam("SQL_RR", damWork);
// Damを設定
this.SetDam("SQL_RR", damWork);
//.........这里部分代码省略.........
示例13: UOC_DoAction
/// <summary>業務処理を実装</summary>
/// <param name="parameterValue">引数クラス</param>
/// <param name="returnValue">戻り値クラス</param>
protected override void UOC_DoAction(BaseParameterValue parameterValue, ref BaseReturnValue returnValue)
{
// 戻り値を生成しておく。
returnValue = new MyReturnValue();
// 自動トランザクションで開始したトランザクションを閉じる。
this.GetDam().CommitTransaction();
// コネクションを閉じる。
this.GetDam().ConnectionClose();
// データアクセス制御クラスをクリア。
this.SetDam(null);
// Dam用ワーク
BaseDam damWork;
// 共通Dao
CmnDao cmnDao;
// カバレージ上げ用
IDbConnection idcnn = null;
IDbTransaction idtx = null;
IDbCommand idcmd = null;
IDataAdapter idapt = null;
DataSet ds = null;
// SQLの戻り値を受ける
object obj;
#region SQL Server
damWork = new DamSqlSvr();
#region 接続しない
BaseLogic.InitDam("XXXX", damWork);
this.SetDam(damWork);
// なにもしない。
// プロパティにアクセス(デバッガで確認)
idcnn = ((DamSqlSvr)this.GetDam()).DamSqlConnection;
idtx = ((DamSqlSvr)this.GetDam()).DamSqlTransaction;
// nullの時に呼んだ場合。
this.GetDam().CommitTransaction();
this.GetDam().ConnectionClose();
#endregion
#region SQL_NT
BaseLogic.InitDam("SQL_NT", damWork);
this.SetDam(damWork);
// 行数
// Damを直接使用することもできるが、
// 通常は、データアクセスにはDaoを使用する。
cmnDao = new CmnDao(this.GetDam());
cmnDao.SQLText = "SELECT COUNT(*) FROM SHIPPERS";
obj = (object)cmnDao.ExecSelectScalar();
//this.GetDam().CommitTransaction();
this.GetDam().ConnectionClose();
#endregion
#region SQL_UC
BaseLogic.InitDam("SQL_UC", damWork);
this.SetDam(damWork);
// 行数
// Damを直接使用することもできるが、
// 通常は、データアクセスにはDaoを使用する。
cmnDao = new CmnDao(this.GetDam());
cmnDao.SQLText = "SELECT COUNT(*) FROM SHIPPERS";
obj = (object)cmnDao.ExecSelectScalar();
this.GetDam().CommitTransaction();
this.GetDam().ConnectionClose();
#endregion
#region SQL_RC
BaseLogic.InitDam("SQL_RC", damWork);
this.SetDam(damWork);
// 行数
// Damを直接使用することもできるが、
// 通常は、データアクセスにはDaoを使用する。
cmnDao = new CmnDao(this.GetDam());
cmnDao.SQLText = "SELECT COUNT(*) FROM SHIPPERS";
obj = (object)cmnDao.ExecSelectScalar();
//.........这里部分代码省略.........