using GMEStatusSync.Common; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GMEStatusSync.Business.CommonSyncBusiness { public class SyncStatusBusiness : ISyncStatusBusiness { GMEStatusSync.Dao.CommonDao.ISyncStatusDao _dao; public SyncStatusBusiness() { _dao = new GMEStatusSync.Dao.CommonDao.SyncStatusDao(); } public void SyncTxnStatus(string provider, string tranId, GetStatusResponseModel _syncStatusResponse, string paymentMethod) { string isPaid = "Unpaid"; if (provider.ToLower().Equals("mtrade")) { if (_syncStatusResponse.TpStatusCode.Equals("2")) { isPaid = "Paid"; } } else if (provider.ToLower().Equals("donga")) { if (_syncStatusResponse.TpStatus.ToLower().Equals("paid")) { isPaid = "Paid"; } } else if (provider.ToLower().Equals("wing")) { if (paymentMethod.ToLower() == "bank deposit" && _syncStatusResponse.TpStatusCode == "200") { if (_syncStatusResponse.TpStatusCode == "200") { isPaid = "Paid"; } } else { string status = (string.IsNullOrEmpty(_syncStatusResponse.TpStatus)) ? "" : _syncStatusResponse.TpStatus.ToLower(); if (status == "complete") { isPaid = "Paid"; } } } else if (provider.ToLower().Equals("commercial")) { if (_syncStatusResponse.TpStatusCode.ToString() == "514" || _syncStatusResponse.TpStatusCode.ToString() == "515" || _syncStatusResponse.TpStatusCode.ToString() == "516") { isPaid = "Paid"; } } else if (provider.ToLower().Equals("bni")) { if (_syncStatusResponse.TpStatusCode.ToLower().ToString().Equals("pid")) { isPaid = "Paid"; } } else { return; } //mark paid if paid if (!string.IsNullOrEmpty(tranId) && isPaid.ToLower().Equals("paid")) { _dao.SyncTxnAsPaid(provider, tranId); } } } }