public List <TransactionDataStruct> GetTransactionData(CashupStruct cashupStruct, int venusTraceNumber, out int lastTransactionTrace, int fkTerminalKey)
        {
            var transactionList = new List <TransactionDataStruct>();
            var td = new TransactionDataStruct();

            try
            {
                _dbConnection.Open();

                var ssql =
                    string.Format(@"SELECT * FROM ABM_vwGetVenusTransactions WHERE Batch = {0} and fkTerminalID = {2} AND TransactionType = {1} AND Amount > 0 AND CardPaymentInfo IS NULL", cashupStruct.Batch, cashupStruct.TransactionType, fkTerminalKey);

                _sc = new SqlCommand(ssql, _dbConnection);

                _sdr = _sc.ExecuteReader();

                while (_sdr.Read())
                {
                    td.VendSource = string.IsNullOrEmpty(Convert.ToString(_sdr["CardPaymentInfo"])) ? 0 : 1;

                    td.AccountNumber       = Convert.ToString(_sdr["AccountNumber"]);
                    td.Batch               = Convert.ToInt32(_sdr["Batch"]);
                    td.CashAmount          = Convert.ToDecimal(_sdr["Amount"]);
                    td.TerminalCode        = Convert.ToString(_sdr["TerminalId"]);
                    td.TransactionDateTime = Convert.ToDateTime(_sdr["TransactionDateTime"]);
                    td.CashierId           = Convert.ToString(_sdr["TellerID"]);
                    td.LocationName        = Convert.ToString(_sdr["LocationName"]);
                    td.TransactionId       = Convert.ToInt32(_sdr["TransactionId"]);
                    td.UnitId              = Convert.ToString(_sdr["UnitID"]);

                    td.VendSource = Convert.ToInt32(_sdr["VendSource"]);

                    venusTraceNumber++;
                    td.VenusTrace = venusTraceNumber;
                    if (td.VenusTrace > 999999)
                    {
                        DeleteVenusTraces();
                        td.VenusTrace    = 1;
                        venusTraceNumber = 1;
                    }

                    transactionList.Add(td);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("DatabaseInteraction - ExecuteVenusStoredProcedure - " + ex.Message);
            }
            finally
            {
                if (_dbConnection != null)
                {
                    _dbConnection.Close();
                }
            }

            lastTransactionTrace = td.VenusTrace;

            return(transactionList);
        }
        public bool SaveTrasaction(TransactionDataStruct td, string venusFileName)
        {
            try
            {
                _dbConnection.Open();

                _sc = new SqlCommand(@"INSERT INTO VenusTransactions " +
                                     "(TellerID" +
                                     ",VenusTrace" +
                                     ",MeterNumber" +
                                     ",Batch" +
                                     ",Amount" +
                                     ",DateofVenusFile" +
                                     ",DateofTransaction" +
                                     ",TerminalCode" +
                                     ",Location" +
                                     ",UnitID" +
                                     ",VenusFilName)" +
                                     "VALUES ('" + td.CashierId + "'," +
                                     "'" + td.VenusTrace + "'," +
                                     "'" + td.AccountNumber + "'," +
                                     "'" + td.Batch + "'," +
                                     "'" + td.CashAmount + "'," +
                                     "'" + DateTime.Now.Date.ToString("yyyyMMdd") + "'," +
                                     "'" + td.TransactionDateTime + "'," +
                                     "'" + td.TerminalCode + "'," +
                                     "'" + td.LocationName + "'," +
                                     "'" + td.UnitId + "'," +
                                     "'" + venusFileName + "')"
                                     , _dbConnection);
                _sc.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("DatabaseInteraction - SaveVenusTrace - " + ex.Message);
            }
            finally
            {
                if (_dbConnection != null)
                {
                    _dbConnection.Close();
                }
            }

            return(true);
        }
        public List <TransactionDataStruct> ExecuteVenusTransactionsStoredProcedure(string storedProcedureName, CashupStruct cu, int venusTraceNumber, out int lastTransactionTrace)
        {
            List <TransactionDataStruct> transactionList = new List <TransactionDataStruct>();
            TransactionDataStruct        td = new TransactionDataStruct();

            try
            {
                _dbConnection.Open();

                _sc = new SqlCommand(storedProcedureName, _dbConnection)
                {
                    CommandType = System.Data.CommandType.StoredProcedure
                };


                _sc.Parameters.Add(new SqlParameter("@TerminalCode", cu.TerminalCode));
                _sc.Parameters.Add(new SqlParameter("@BatchNumber", cu.Batch));
                _sc.Parameters.Add(new SqlParameter("@TransactionType", cu.TransactionType));
                _sc.Parameters.Add(new SqlParameter("@CashupDateTime", cu.CashupDateTime));
                _sdr = _sc.ExecuteReader();

                while (_sdr.Read())
                {
                    td.VendSource = Convert.ToInt32(_sdr["VendSource"]);


                    td.AccountNumber       = Convert.ToString(_sdr["AccountNumber"]);
                    td.Batch               = Convert.ToInt32(_sdr["Batch"]);
                    td.CashAmount          = Convert.ToDecimal(_sdr["Amount"]);
                    td.TerminalCode        = cu.TerminalCode;
                    td.TransactionDateTime = Convert.ToDateTime(_sdr["TransactionDateTime"]);
                    td.CashierId           = Convert.ToString(_sdr["TellerID"]);
                    td.LocationName        = Convert.ToString(_sdr["LocationName"]);

                    td.UnitId = cu.Vendor == "CashPower" ? Convert.ToString(_sdr["UnitID"]) : string.Empty;

                    td.VendSource = Convert.ToInt32(_sdr["VendSource"]);

                    venusTraceNumber++;
                    td.VenusTrace = venusTraceNumber;
                    if (td.VenusTrace > 999999)
                    {
                        DeleteVenusTraces();
                        td.VenusTrace    = 1;
                        venusTraceNumber = 1;
                    }

                    transactionList.Add(td);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("DatabaseInteraction - ExecuteVenusStoredProcedure - " + ex.Message);
            }
            finally
            {
                if (_dbConnection != null)
                {
                    _dbConnection.Close();
                }
            }

            lastTransactionTrace = td.VenusTrace;

            return(transactionList);
        }