public void Transaction(Transaction t)
        {
            if (t.ID != 0)
                t.ID = 0;

            t.AgentID = ((DareyaIdentity)HttpContext.Current.User.Identity).CustomerID;

            RepoFactory.GetTransactionRepo().RecordTransaction(t);
        }
 public bool TransferFundsForTransaction(Transaction t)
 {
     using (SqlConnection conn = new SqlConnection(connStr))
     {
         conn.Open();
         if (conn.Execute("ModifyCustomerAccountsForTransaction", new { DebitCustomerID = t.DebitCustomerID, CreditCustomerID = t.CreditCustomerID, Amount = t.Amount }, commandType: CommandType.StoredProcedure) > 0)
             return true;
         else
             return false;
     }
 }
 public bool RecordTransaction(Transaction t)
 {
     using (SqlConnection conn = new SqlConnection(connStr))
     {
         conn.Open();
         if (conn.Execute("spTransactionRecordAndProcess", TransToDynParm(t), commandType: CommandType.StoredProcedure) > 0)
             return true;
         else
             return false;
     }
 }
        private DynamicParameters TransToDynParm(Transaction t)
        {
            DynamicParameters p = new DynamicParameters();

            p.Add("@TransactionBatchID", t.TransactionBatchID, DbType.String, ParameterDirection.Input);
            p.Add("@DebitCustomerID", t.DebitCustomerID, DbType.Int64, ParameterDirection.Input);
            p.Add("@CreditCustomerID", t.CreditCustomerID, DbType.Int64, ParameterDirection.Input);
            p.Add("@Type", (int)t.Type, DbType.Int32, ParameterDirection.Input);
            p.Add("@Amount", t.Amount, DbType.Decimal, ParameterDirection.Input);
            p.Add("@Reason", (int)t.Reason, DbType.Int32, ParameterDirection.Input);
            p.Add("@Source", (int)t.Source, DbType.Int32, ParameterDirection.Input);
            p.Add("@AgentID", t.AgentID, DbType.Int64, ParameterDirection.Input);
            p.Add("@Comment", t.Comment, DbType.String, ParameterDirection.Input);
            p.Add("@State", (int)t.State, DbType.Int32, ParameterDirection.Input);
            p.Add("@ForeignTransactionID", t.ForeignTransactionID, DbType.String, ParameterDirection.Input);
            p.Add("@BillingProcessorType", t.BillingProcessorType, DbType.Int32, ParameterDirection.Input);
            p.Add("@BidID", t.BidID, DbType.Int64, ParameterDirection.Input);

            return p;
        }