public void TestRefunds() { DailyTransactionRange range = es.getTransactionRangeFor(new DateTime(2012, 10, 15)); Int32 refundCount = es.getRefundCount(range); Assert.AreEqual(1, refundCount); List <Int32> txnIds = es.getRefundTransactionIds(range); Assert.AreEqual(1, txnIds.Count); EaglesoftRefund refund = es.getRefund(txnIds[0]); Assert.AreEqual(112.00, refund.Amount); Assert.AreEqual("Johnny", refund.FirstName); Assert.AreEqual("Grieshaber", refund.LastName); Assert.AreEqual("13008 Brown Bark Trail", refund.Address1); Assert.IsNull(refund.Address2); Assert.AreEqual("Clermont", refund.City); Assert.AreEqual("FL", refund.State); Assert.AreEqual("34711", refund.Zip); Assert.AreEqual("ins check came here (CMN/14124/247649)", refund.Description); Assert.AreEqual(new EaglesoftAdjustmentType() { Id = 3 }, refund.AdjustmentType); }
public void TestLoadEOD() { DailyTransactionRange range = es.getTransactionRangeFor(new DateTime(2012, 10, 15)); Assert.AreEqual(247486, range.FromTxn); Assert.AreEqual(247733, range.ToTxn); }
public void TestLoadEOD() { DailyTransactionRange range = es.getTransactionRangeFor(new DateTime(2013, 9, 18)); Assert.AreEqual(range.FromTxn, 290082); Assert.AreEqual(range.ToTxn, 290293); }
public void TestGetCounts() { DailyTransactionRange range = es.getTransactionRangeFor(new DateTime(2013, 9, 18)); Int32 paymentCount = es.getPaymentCount(range); Assert.AreEqual(34, paymentCount); List <Int32> txnIds = es.getPaymentTransactionIds(range); Assert.AreEqual(34, txnIds.Count); }
private void LoadEaglesoftDataWorker_DoWork(object sender, DoWorkEventArgs e) { Eaglesoft es = new Eaglesoft(); DailyDeposit dailyDeposit = new DailyDeposit(Date); try { if (CancellationPending) { e.Cancel = true; return; } es.Connect(); DailyTransactionRange range = es.getTransactionRangeFor(Date); if (range == null) { ReportProgress(100, "No data available"); return; } queryCount = 0; totalQueryCount = es.getPaymentCount(range) + es.getRefundCount(range); List <EaglesoftBulkPayment> bulkPaymentsProcessed = new List <EaglesoftBulkPayment>(); List <Int32> paymentTxnIds = es.getPaymentTransactionIds(range); List <Int32> refundTxnIds = es.getRefundTransactionIds(range); e.Result = dailyDeposit; foreach (Int32 paymentTxnId in paymentTxnIds) { EaglesoftPayment payment = es.getPayment(paymentTxnId); EaglesoftBulkPayment bulkPayment = payment as EaglesoftBulkPayment; queryCount++; if (bulkPayment == null) { dailyDeposit.addPayment(payment); ReportProgress(calculatePercentageComplete(), String.Format("{0}", payment)); } else if (bulkPayment != null && bulkPaymentsProcessed.Contains(bulkPayment) == false) { dailyDeposit.addPayment(payment); ReportProgress(calculatePercentageComplete(), String.Format("{0}", payment)); } if (bulkPayment != null) { bulkPaymentsProcessed.Add(bulkPayment); } if (CancellationPending) { e.Cancel = true; return; } } foreach (Int32 refundTxnId in refundTxnIds) { EaglesoftRefund refund = es.getRefund(refundTxnId); dailyDeposit.addRefund(refund); queryCount++; ReportProgress(calculatePercentageComplete(), String.Format("{0}", refund)); if (CancellationPending) { e.Cancel = true; return; } } } finally { if (es != null) { es.Disconnect(); } } }
public List<Int32> getRefundTransactionIds(DailyTransactionRange range) { var result = _databaseConnection.Query<Int32>(@" SELECT T.TRAN_NUM FROM TRANSACTIONS T WHERE T.TYPE = 'D' and T.adjustment_type is not null and T.impacts = 'C' and amount <> 0 and t.status <> 'D' and TRAN_NUM >= :startTran and TRAN_NUM <= :EndTran ", new { StartTran = range.FromTxn, EndTran = range.ToTxn }); return result.ToList<Int32>(); }
public List<Int32> getPaymentTransactionIds(DailyTransactionRange range) { var result = _databaseConnection.Query<Int32>(@" SELECT T.TRAN_NUM FROM TRANSACTIONS T WHERE T.TYPE NOT IN ('S','C','D','F') and amount <> 0 and t.status <> 'D' and tran_num >= :StartTran and tran_num <= :EndTran ", new { StartTran = range.FromTxn, EndTran = range.ToTxn }); return result.ToList<Int32>(); }
public Int32 getPaymentCount(DailyTransactionRange range) { var result = _databaseConnection.Query<Int32>(@"SELECT count(*) FROM TRANSACTIONS T WHERE T.TYPE NOT IN ('S','C','D') and amount <> 0 and t.status <> 'D' and TRAN_NUM >= :startTran and TRAN_NUM <= :EndTran", new { StartTran = range.FromTxn, EndTran = range.ToTxn }); return result.DefaultIfEmpty(0).FirstOrDefault<Int32>(); }