Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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;
        }
Beispiel #5
0
 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);
     }
 }
Beispiel #6
0
        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;
        }
Beispiel #7
0
 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;
 }