[Serializable]
public class IrisSettlementData
{
public HeaderParameters Header = new HeaderParameters();
public IrisSettlementDataSet IrisSettlement;
public IrisSettlementData()
{
Header.Errors = new StringCollection();
Header.Warnings = new StringCollection();
IrisSettlement = new IrisSettlementDataSet();
}
}
[Serializable]
public class SSettVerifyParameters : IrisSettlementData
{
public string Site = string.Empty;
public string ExceptionStatus = string.Empty;
public string ModifyUserID = string.Empty;
public string TransRef = string.Empty;
public int? TradeID = null;
public string CustomerTag = string.Empty;
public string CustomerName = string.Empty;
public string Description = string.Empty;
public string Currency = string.Empty;
public string PaymentLeadTime = string.Empty;
public string Book_Runner = string.Empty;
public string Product = string.Empty;
public DateTime ValueDate = DateTime.MinValue;
public decimal? FromAmount = null;
public decimal? ToAmount = null;
public string AmountRelation = string.Empty;
public int OneSettlementId = 0;
public string OneComments = string.Empty;
public IrisSettlementDataSet SettlementVerificationDS;
public MessageTypes MessageTypesIn;
public Hashtable RejectionMessages = new Hashtable();
public Hashtable SettlementMessages = new Hashtable();
public SSettVerifyParameters()
{
SettlementVerificationDS = new IrisSettlementDataSet();
MessageTypesIn = new MessageTypes();
base.IrisSettlement = SettlementVerificationDS;
}
}
Presentation Layer
new BR_MessageTypes().FillMessageTypes(SettlementVerifyParams);
errorHandler.AddError(SettlementVerifyParams.Header.Errors);
errorHandler is a web control. It will render error message onto the page when its error collection is not empy.
Business Layer
DA_SettlementVerify _daSettEx = new DA_SettlementVerify();
public void FillData(SSettVerifyParameters verifyParams)
{
verifyParams.Header.Errors.Clear();
_daSettEx.FillSummaryData(verifyParams);
_daSettEx.FillRejectionMessages(verifyParams);
_daSettEx.FillSettlementMessages(verifyParams);
}
Data Access Layer
///
/// Reject selected verifying settlements
///
///
public void MoveSettlementsToException(SSettVerifyParameters verifyParams)
{
AseCommand cmd = null;
AseParameter param = null;
AseTransaction trans = null;
DataView dv = verifyParams.SettlementVerificationDS.Settlement.DefaultView;
try
{
dv.RowFilter = String.Format("Selected = '{0}'", bool.TrueString) + " AND ExceptionMessage<>''";
cmd = initializeIrisPrimaryDB("sMoveVerifyToException");
trans = cmd.Connection.BeginTransaction();
cmd.Transaction = trans;
//reject settlement one by one
foreach (DataRowView settlementRow in dv)
{
cmd.Parameters.Clear();
param = new AseParameter();
param.Direction = ParameterDirection.Input;
param.AseDbType = AseDbType.Integer;
param.ParameterName = "@sid";
param.Value = Convert.ToInt32(settlementRow["SettlementID"]);
cmd.Parameters.Add(param);
param = new AseParameter();
param.Direction = ParameterDirection.Input;
param.AseDbType = AseDbType.VarChar;
param.Size = 20;
param.ParameterName = "@user_id";
param.Value = verifyParams.Header.WebUserID;
cmd.Parameters.Add(param);
param = new AseParameter();
param.Direction = ParameterDirection.Input;
param.AseDbType = AseDbType.VarChar;
param.Size = 100;
param.ParameterName = "@reason";
param.Value = settlementRow["ExceptionMessage"];
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();
}
trans.Commit();
}
catch (Exception ex)
{
//Log to exception log
//LogEventClass _log = new LogEventClass();
//_log.UserID = irisParams.Header.WebUserID;
//_log.FunctionName = Constants.Web.Functionality.ClientNettingDetails;
//_log.LogMessageToSources(ex.ToString(), true, true, true);
//User friendly error
verifyParams.Header.Errors.Add(string.Format("Failed to reject commented settlements."));
if (trans != null)
{
trans.Rollback();
}
}
finally
{
finalizeIrisPrimaryDB(cmd);
dv.RowFilter = string.Empty;
}
}
No comments:
Post a Comment