public int CreateBatchDetail( TransactionChoice connType , string LedgerType , BatchDetailDTO batchDetailDTO) { int result = 0; switch (LedgerType) { case "PayerAccountsReceivable": result = CreateFeeBatchDetail( connType , batchDetailDTO); break; default: //no nothing for now; will implement other ledgers in another phase break; } return result; }
public object Execute( TransactionChoice connType , CommandType commandType , string procedure , ExecuteType executeType , IList<SqlParameter> parameters , out ExecuteOutcome executeOutcome, out string executeOutcomeMessage) { object result = null; SqlCommand cmd = NewSqlCommand(connType, commandType, procedure, parameters); try { result = CommandExecute(executeType, cmd); executeOutcome = ExecuteOutcome.Success; executeOutcomeMessage = ""; } catch (Exception ex) { if (ex.GetBaseException().Message.Contains("timeout") || ex.GetBaseException().Message.Contains("deadlock")) { //return message that it timed out executeOutcome = ExecuteOutcome.Timeout; executeOutcomeMessage = "Server timed out or thread deadlock victim. " + ex.Message; } else { executeOutcome = ExecuteOutcome.Failure; throw ex; } } return result; }
private int CreateFeeBatchDetail(TransactionChoice connType , BatchDetailDTO batchDetailDTO) { IDataManager manager = SqlDataManager.UniqueInstance; IList<SqlParameter> parameters = new List<SqlParameter>(); parameters = AddSqlParameter(parameters, "@InsBatHdrKey", batchDetailDTO.BatchHeaderKey.ToString(), SqlDbType.Int, "in"); parameters = AddSqlParameter(parameters, "@InsClmHdrKey", batchDetailDTO.ClaimHeaderKey.ToString(), SqlDbType.Int, "in"); parameters = AddSqlParameter(parameters, "@InsCorrKey", batchDetailDTO.CorrectionKey.ToString(), SqlDbType.Int, "in"); parameters = AddSqlParameter(parameters, "@InsUndKey", batchDetailDTO.UnidentifiedKey.ToString(), SqlDbType.Int, "in"); parameters = AddSqlParameter(parameters, "@TxType", batchDetailDTO.TransactionType, SqlDbType.VarChar, "in"); parameters = AddSqlParameter(parameters, "@TxCtgy", batchDetailDTO.TransactionCategory, SqlDbType.VarChar, "in"); parameters = AddSqlParameter(parameters, "@TxCode", batchDetailDTO.TransactionCode, SqlDbType.VarChar, "in"); parameters = AddSqlParameter(parameters, "@InsBatTxDate", batchDetailDTO.BatchTransactionDate.ToString(), SqlDbType.Date, "in"); parameters = AddSqlParameter(parameters, "@InsBatTxAmt", batchDetailDTO.BatchTransactionAmount.ToString(), SqlDbType.Money, "in"); parameters = AddSqlParameter(parameters, "@InsChkAmt", batchDetailDTO.PayerCheckAmount.ToString(), SqlDbType.Money, "in"); parameters = AddSqlParameter(parameters, "@InsChkDate", batchDetailDTO.PayerCheckDate.ToString(), SqlDbType.Date, "in"); parameters = AddSqlParameter(parameters, "@InsCheckNo", batchDetailDTO.PayerCheckNumber, SqlDbType.VarChar, "in"); parameters = AddSqlParameter(parameters, "@InsBulkChk", batchDetailDTO.IsPayerBulkCheck.ToString(), SqlDbType.Bit, "in"); parameters = AddSqlParameter(parameters, "@Unidentified", batchDetailDTO.IsUnidentified.ToString(), SqlDbType.Bit, "in"); parameters = AddSqlParameter(parameters, "@UserAdded", batchDetailDTO.UserAdded, SqlDbType.VarChar, "in"); ExecuteOutcome outcome; string outcomeMessage; int headerKey = (int)manager.Execute( connType , CommandType.StoredProcedure , "corInsClmBatchDetINS" , ExecuteType.ExecuteScaler , parameters , out outcome, out outcomeMessage); EvaluateOutcome(outcome, outcomeMessage, "CreateFeeBatchDetail"); int result = headerKey; return result; }
public object GetData(TransactionChoice connType , CommandType commandType , string procedureName , IList<SqlParameter> parameters , int retries , ExecuteType executeType, out ExecuteOutcome outcome , out string outcomeMsg) { object result = new object(); IDataManager manager = SqlDataManager.UniqueInstance; ExecuteOutcome outcome1 = new ExecuteOutcome(); outcome1 = ExecuteOutcome.Timeout; string outcomeMsg1 = ""; //make database call for (int i = 0; i < retries && outcome1 == ExecuteOutcome.Timeout; i++) { result = manager.Execute(connType, commandType , procedureName , executeType , parameters , out outcome1, out outcomeMsg1); } outcome = outcome1; outcomeMsg = outcomeMsg1; return result; }
internal void Open(TransactionChoice connType) { try { switch (connType) { case TransactionChoice.WithoutTransaction: if (_conn.State != ConnectionState.Open) { _conn.Open(); } break; case TransactionChoice.WithTransaction: if (_connTrans.State != ConnectionState.Open) { _connTrans.Open(); } break; default: break; } } catch (Exception ex) { throw new Exception("Problem opening connection.", ex); } }
internal SqlCommand NewSqlCommand( TransactionChoice connType , CommandType commandType , string procedure , IList<SqlParameter> parameters) { SqlCommand cmd = CreateSqlCommand(connType, procedure); cmd.CommandType = commandType; if (parameters != null) { cmd = AddParametersToSqlCommand(cmd, parameters); } return cmd; }
internal SqlCommand CreateSqlCommand( TransactionChoice connType , string procedure) { SqlCommand cmd; switch (connType) { case TransactionChoice.WithoutTransaction: cmd = new SqlCommand(procedure, _conn); break; case TransactionChoice.WithTransaction: cmd = new SqlCommand(procedure, _connTrans); break; default: cmd = new SqlCommand(procedure, _conn); break; } return cmd; }