You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
408 lines
17 KiB
408 lines
17 KiB
using Swift.API.Common;
|
|
using Swift.DAL.Remittance.Transaction;
|
|
using Swift.web.Library;
|
|
using Swift.DAL.SwiftDAL;
|
|
using Swift.API.ThirdPartyApiServices;
|
|
using System;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web.Helpers;
|
|
|
|
namespace Swift.web.Remit.Transaction.ApproveTxn
|
|
{
|
|
public partial class ApproveInwardRemitance : System.Web.UI.Page
|
|
{
|
|
private ApproveInwardTransactionDao at = new ApproveInwardTransactionDao();
|
|
private const string ViewFunctionId = "90500000";
|
|
|
|
private const string ApproveSingleFunctionId = "90500001";
|
|
private const string RejectFuntionId = "90500002";
|
|
private readonly StaticDataDdl _sdd = new StaticDataDdl();
|
|
private readonly RemittanceLibrary _sl = new RemittanceLibrary();
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
Authenticate();
|
|
GetStatic.AttachConfirmMsg(ref btnApprove, "Are you sure to APPROVE this transaction?");
|
|
GetStatic.AttachConfirmMsg(ref btnApproveAll, "Are you sure to APPROVE ALL this transaction?");
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
antiForgery.InnerHtml = AntiForgery.GetHtml().ToString();
|
|
LoadDdl();
|
|
LoadSendingAgent();
|
|
LoadApproveGrid("");
|
|
MakeNumericTextBox();
|
|
|
|
// _sl.SetPayStatusDdl(ref status, "", "All");
|
|
if (!string.IsNullOrEmpty(GetCountry()))
|
|
LoadApproveGrid(GetCountry());
|
|
LoadHoldSummary();
|
|
|
|
}
|
|
GetStatic.ResizeFrame(Page);
|
|
|
|
}
|
|
private void MakeNumericTextBox()
|
|
{
|
|
Misc.MakeNumericTextbox(ref amt);
|
|
}
|
|
private void Authenticate()
|
|
{
|
|
_sdd.CheckAuthentication(ViewFunctionId);
|
|
}
|
|
private string GetCountry()
|
|
{
|
|
return GetStatic.ReadQueryString("country", "");
|
|
}
|
|
|
|
private void LoadDdl()
|
|
{
|
|
// _sdd.SetDDL3(ref country, "EXEC proc_dropDownListsInboundApi @flag = 'a-countrySend'", "countryId", "countryName", "", "All");
|
|
|
|
_sdd.SetDDL(ref country, "EXEC proc_dropDownListsInboundApi @flag='a-countrySend'", "countryId", "countryName", "", "All");
|
|
|
|
var sql = "EXEC proc_dropDownLists @flag = 'a-countryPay'";
|
|
_sdd.SetDDL(ref rCountry, sql, "countryName", "countryName", "", "Select");
|
|
}
|
|
protected void country_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
LoadSendingAgent();
|
|
// Your event handling code here
|
|
}
|
|
|
|
|
|
|
|
protected void agent_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
// Your event handling code here
|
|
if (!string.IsNullOrEmpty(agent.Text))
|
|
{
|
|
var sql = "EXEC proc_dropDownListsInboundApi @flag = 'branch', @agentId=" + _sdd.FilterString(agent.Text) + " , @user=" + _sdd.FilterString(GetStatic.GetUser());
|
|
_sdd.SetDDL(ref branch, sql, "agentId", "agentName", "", "All");
|
|
}
|
|
else
|
|
{
|
|
branch.Items.Clear();
|
|
}
|
|
}
|
|
private void LoadSendingAgent()
|
|
{
|
|
if (!string.IsNullOrEmpty(country.Text))
|
|
_sdd.SetDDL(ref agent, "EXEC proc_dropDownListsInboundApi @flag = 'agentSend',@param=" + _sdd.FilterString(country.Text) + "", "agentId", "agentName", "", "All");
|
|
}
|
|
|
|
private void LoadApproveGrid(string sCountry)
|
|
{
|
|
bool allowApprove = _sdd.HasRight(ApproveSingleFunctionId);
|
|
bool allowMultiple = false/* _sdd.HasRight(ApproveMultipleFunctionId)*/;
|
|
bool allowReject = _sdd.HasRight(RejectFuntionId);
|
|
|
|
|
|
if (!string.IsNullOrEmpty(sCountry))
|
|
{
|
|
if (sCountry.ToLower() == "All")
|
|
{
|
|
// Clear the selection and load data for all countries
|
|
country.ClearSelection();
|
|
}
|
|
else
|
|
{
|
|
// Set the selected country
|
|
country.SelectedItem.Text = sCountry;
|
|
}
|
|
// LoadSendingAgent();
|
|
}
|
|
|
|
//if (country.SelectedItem.Text == "" || country.SelectedItem.Text == "Select")
|
|
//{
|
|
// //country.SelectedItem.Text = country.SelectedItem.Text;
|
|
// country.SelectedItem.Text = "All";
|
|
//}
|
|
var ds = at.GetHoldedTXNListAdmin(GetStatic.GetUser(), branch.Text, tranNo.Text, rCountry.Text, sender.Text, receiver.Text
|
|
, amt.Text, GetStatic.GetBranch(), GetStatic.GetUserType()
|
|
, "s-admin", txnDate.Text, user.Text, ControlNo.Text, ControlNo1.Text, "I", country.SelectedItem.Text, agent.Text, branch.Text);
|
|
|
|
var dt = ds.Tables[0];
|
|
var sb = new StringBuilder();
|
|
var sbHead = new StringBuilder();
|
|
var colspanCount = 0;
|
|
int cols = dt.Columns.Count;
|
|
int cnt = 0;
|
|
sbHead.Append("<table class = 'table table-responsive table-striped table-bordered' >");
|
|
if (dt.Rows.Count > 0)
|
|
{
|
|
sb.Append("<tr>");
|
|
if (allowMultiple)
|
|
{
|
|
colspanCount++;
|
|
sb.Append("<th>");
|
|
if (dt.Rows.Count > 0)
|
|
sb.Append("<input type = 'checkbox' id = 'tgcb' onclick = 'ToggleCheckboxes(this,false);' />");
|
|
sb.Append("</th>");
|
|
}
|
|
sb.Append("<th>Tran Id</th>");
|
|
sb.Append("<th>PIN No.</th>");
|
|
sb.Append("<th>Partner Id</th>");
|
|
sb.Append("<th>Sending Branch</th>");
|
|
//sb.Append("<th>Txn Channel</th>");
|
|
sb.Append("<th>Country</th>");
|
|
sb.Append("<th>Sender</th>");
|
|
sb.Append("<th>Receiver</th>");
|
|
sb.Append("<th>Payout Amt</th>");
|
|
sb.Append("<th>Coll Amt</th>");
|
|
sb.Append("<th>S Charge</th>");
|
|
sb.Append("<th>Payment Method</th>");
|
|
//sb.Append("<th>Payment Option</th>");
|
|
//sb.Append("<th>Voucher No</th>");
|
|
sb.Append("<th nowrap='nowrap'>Tran Date</th>");
|
|
sb.Append("<th>User</th>");
|
|
|
|
if (allowApprove)
|
|
{
|
|
colspanCount++;
|
|
sb.Append("<th></th>");
|
|
sb.Append("<th></th>");
|
|
}
|
|
if (allowApprove)
|
|
{
|
|
colspanCount++;
|
|
sb.Append("<th></th>");
|
|
}
|
|
sb.Append("</tr>");
|
|
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
cnt = cnt + 1;
|
|
sb.AppendLine(cnt % 2 == 1
|
|
? "<tr class=\"oddbg\" onMouseOver=\"this.className='GridOddRowOver'\" onMouseOut=\"this.className='oddbg'\" >"
|
|
: "<tr class=\"evenbg\" onMouseOver=\"this.className='GridEvenRowOver'\" onMouseOut=\"this.className='evenbg'\">");
|
|
if (allowMultiple)
|
|
sb.Append("<td><input onclick = 'CallBackGrid(this,false);' type='checkbox' name='rowId' value=\"" + dr["id"].ToString() + "\"></td>");
|
|
|
|
sb.Append("<td>" + dr["id"].ToString() + "</td>");
|
|
sb.Append("<td>" + dr["controlNo"].ToString() + "</td>");
|
|
sb.Append("<td>" + dr["controlNo2"].ToString() + "</td>");
|
|
sb.Append("<td>" + dr["BranchName"].ToString() + "</td>");
|
|
//sb.Append("<td>" + dr["tranType"].ToString() + "</td>");
|
|
sb.Append("<td>" + dr["country"].ToString() + "</td>");
|
|
sb.Append("<td>" + dr["sender"].ToString() + "</td>");
|
|
sb.Append("<td>" + dr["receiver"].ToString() + "</td>");
|
|
sb.Append("<td style=\"font-weight: bold; font-style: italic; text-align: right;\">");
|
|
sb.Append(GetStatic.FormatData(dr["pAmt"].ToString(), "M"));
|
|
sb.Append("<td style=\"font-weight: bold; font-style: italic; text-align: right;\">");
|
|
sb.Append(GetStatic.FormatData(dr["amt"].ToString(), "M"));
|
|
sb.Append("<td style=\"font-weight: bold; font-style: italic; text-align: right;\">");
|
|
sb.Append(GetStatic.FormatData(dr["serviceCharge"].ToString(), "M"));
|
|
//sb.Append(GetStatic.FormatData(dr["serviceCharge"].ToString(), "M"));
|
|
|
|
sb.Append("<td>" + dr["collMode"].ToString() + "</td>");
|
|
//sb.Append("<td>" + dr["depositType"].ToString() + "</td>");
|
|
//sb.Append("<td>" + dr["voucherNo"].ToString() + "</td>");
|
|
sb.Append("<td>" + GetStatic.FormatData(dr["txnDate"].ToString(), "D") + "</td>");
|
|
sb.Append("<td>" + dr["txncreatedBy"].ToString() + "</td>");
|
|
|
|
//if (allowApprove)
|
|
// sb.Append("<td><img style='cursor:pointer' title = 'View Details' alt = 'View Details' src = '" + GetStatic.GetUrlRoot() + "/images/view-detail-icon.png' onclick = 'ViewDetails(" + dr["id"].ToString() + ");' /></td>");
|
|
|
|
//if (allowApprove && dr["collMode"].ToString() == "Bank Deposit")
|
|
// sb.Append("<td><img style='cursor:pointer' title = 'Approve Deposit Mapping' alt = 'View Mapping' src = '" + GetStatic.GetUrlRoot() + "/images/view-changes.jpg' onclick = 'ViewMapping(" + dr["id"].ToString() + ");' /></td>");
|
|
//else
|
|
// sb.Append("<td> </td>");
|
|
|
|
//if (allowModify)
|
|
// sb.Append("<td><img style='cursor:pointer' title = 'Modify Transaction' alt = 'Modify Transaction' src = '" + GetStatic.GetUrlRoot() + "/images/edit.gif' onclick = 'Modify(" + dr["id"].ToString() + ");' /></td>");
|
|
if (allowApprove || allowReject)
|
|
{
|
|
sb.Append("<td nowrap = \"nowrap\">");
|
|
//var tb = Misc.MakeNumericTextbox("amt_" + dr["id"].ToString(), "amt_" + dr["id"].ToString(), "", "style='width:60px ! important'", "CheckAmount(" + dr["id"].ToString() + ", " + dr["amt"].ToString() + ");");
|
|
//sb.Append(tb);
|
|
|
|
if (allowApprove)
|
|
sb.Append(" <input type = 'button' class='btn btn-primary m-t-25' onclick = \"ViewDetails(" + dr["id"].ToString() + ");\" value = 'Approve' id = 'btn_" + dr["id"].ToString() + "' />");
|
|
if (allowReject)
|
|
sb.Append(" <input type = 'button' class='btn btn-primary m-t-25' onclick = \"Reject(" + dr["id"].ToString() + ");\" value = 'Reject' id = 'btn_r_" + dr["id"].ToString() + "' />");
|
|
|
|
sb.Append("</td>");
|
|
}
|
|
sb.Append("</tr>");
|
|
}
|
|
|
|
btnApproveAll.Visible = allowMultiple;
|
|
}
|
|
else
|
|
{
|
|
btnApproveAll.Visible = false;
|
|
}
|
|
|
|
sbHead.Append("<tr><td colspan='" + cols + "' id='appCnt' nowrap='nowrap'>");
|
|
sbHead.Append("<b>" + dt.Rows.Count.ToString() + " Transaction(s) found : <b>Approve Transaction List</b> </b></td>");
|
|
sbHead.Append("</tr>");
|
|
sbHead.Append(sb.ToString());
|
|
sbHead.Append("</table>");
|
|
rptGrid.InnerHtml = sbHead.ToString();
|
|
approveList.Visible = true;
|
|
|
|
selfTxn.Visible = false;
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
_sl.ManageInvalidControlNoAttempt(Page, GetStatic.GetUser(), "N");
|
|
return;
|
|
}
|
|
GetStatic.ResizeFrame(Page);
|
|
}
|
|
|
|
|
|
protected void btnSearch_Click(object sender, EventArgs e)
|
|
{
|
|
LoadApproveGrid("");
|
|
}
|
|
protected void btnApproveAll_Click(object sender, EventArgs e)
|
|
{
|
|
var dr = ApproveAllTxn();
|
|
GetStatic.PrintMessage(Page, dr);
|
|
if (dr.ErrorCode.Equals("0"))
|
|
{
|
|
LoadApproveGrid("");
|
|
LoadHoldSummary();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private DbResult ApproveAllTxn()
|
|
{
|
|
var idList1 = GetStatic.ReadFormData("rowId", "");
|
|
|
|
if (string.IsNullOrWhiteSpace(idList1))
|
|
{
|
|
var dr = new DbResult();
|
|
dr.SetError("1", "Please select one or more transaction approve", "");
|
|
return dr;
|
|
}
|
|
return at.ApproveAllHoldedTXN(GetStatic.GetUser(), idList1);
|
|
}
|
|
|
|
private void LoadHoldSummary()
|
|
{
|
|
var ds = at.GetHoldAdminTransactionSummary(GetStatic.GetUser(), GetStatic.GetBranch(), GetStatic.GetUserType());
|
|
if (ds == null || ds.Tables.Count == 0)
|
|
return;
|
|
var dt = ds.Tables[0];
|
|
var sbHead = new StringBuilder();
|
|
int count = 0;
|
|
if (dt.Rows.Count > 0)
|
|
{
|
|
sbHead.Append("<table class = 'table table-responsive table-bordered table-striped'>");
|
|
sbHead.Append("<tr>");
|
|
sbHead.Append("<th colspan='3'>HOLD Transaction Summary</th>");
|
|
sbHead.Append("</tr>");
|
|
|
|
sbHead.Append("<tr>");
|
|
sbHead.Append("<th>S.N.</th>");
|
|
sbHead.Append("<th>Sending Country</th>");
|
|
sbHead.Append("<th>Count</th>");
|
|
sbHead.Append("</tr>");
|
|
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
sbHead.Append("<tr>");
|
|
sbHead.Append("<td>" + dr["sn"] + "</td>");
|
|
sbHead.Append("<td><a href='ApproveInwardRemitance.aspx?country=" + dr["country"] + "'>" + dr["country"] + "</a></td>");
|
|
sbHead.Append("<td align=\"center\">" + dr["txnCount"] + "</td>");
|
|
sbHead.Append("</tr>");
|
|
count = count + int.Parse(dr["txnCount"].ToString());
|
|
}
|
|
sbHead.Append("<tr><td colspan='2'><b>Total</b></td>");
|
|
sbHead.Append("<td align=\"center\"><b>" + count.ToString() + "</b></td>");
|
|
sbHead.Append("</tr>");
|
|
sbHead.Append("</table>");
|
|
txnSummary.InnerHtml = sbHead.ToString();
|
|
}
|
|
}
|
|
protected void btnApprove_Click(object sender, EventArgs e)
|
|
{
|
|
ApproveTxn();
|
|
}
|
|
private void ApproveTxn()
|
|
{
|
|
AntiForgery.Validate();
|
|
//ApproveTxnMain();
|
|
DbResult _dbRes = at.GetTxnApproveDataIMEPay(GetStatic.GetUser(), hddTranNo.Value);
|
|
if (_dbRes.ErrorCode != "0")
|
|
{
|
|
GetStatic.PrintMessage(Page, _dbRes);
|
|
return;
|
|
}
|
|
//else if (_dbRes.Extra == "True")//is realtime
|
|
if (_dbRes.Extra2 == "True")//is realtime
|
|
{
|
|
SendTransactionServices _tpSend = new SendTransactionServices();
|
|
string ProcessId = Guid.NewGuid().ToString().Replace("-", "") + ":" + _dbRes.Extra1 + ":releaseTxn";
|
|
var result = _tpSend.ReleaseTransaction(new TFReleaseTxnRequest()
|
|
{
|
|
TfPin = _dbRes.Id,
|
|
TxnId = _dbRes.Extra,
|
|
RequestBy = GetStatic.GetUser(),
|
|
ProviderId = _dbRes.Extra1,
|
|
ProcessId = ProcessId.Substring(ProcessId.Length - 40, 40)
|
|
});
|
|
_dbRes.ErrorCode = result.ResponseCode;
|
|
_dbRes.Msg = result.Msg;
|
|
_dbRes.Id = "";
|
|
|
|
if (_dbRes.ErrorCode != "0")
|
|
{
|
|
GetStatic.PrintMessage(Page, _dbRes);
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
ApproveTxnMain();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ApproveTxnMain();
|
|
}
|
|
}
|
|
|
|
protected void ApproveTxnMain()
|
|
{
|
|
DbResult dbResult = at.ApproveHoldedTXN(GetStatic.GetUser(), hddTranNo.Value);
|
|
if (dbResult.ErrorCode == "0")
|
|
{
|
|
LoadApproveGrid("");
|
|
LoadHoldSummary();
|
|
GetStatic.PrintMessage(Page, dbResult);
|
|
return;
|
|
}
|
|
else if (dbResult.ErrorCode == "11")
|
|
{
|
|
string url = "../NewReceiptIRH.aspx?printType=&controlNo=" + dbResult.Id;
|
|
Response.Redirect(url);
|
|
}
|
|
else
|
|
{
|
|
GetStatic.PrintMessage(Page, dbResult);
|
|
return;
|
|
}
|
|
}
|
|
|
|
protected void btnReject_Click(object sender, EventArgs e)
|
|
{
|
|
RejectTxn();
|
|
}
|
|
private void RejectTxn()
|
|
{
|
|
var dr = at.RejectHoldedTXN(GetStatic.GetUser(), hddTranNo.Value);
|
|
GetStatic.PrintMessage(Page, dr);
|
|
if (dr.ErrorCode.Equals("0"))
|
|
{
|
|
LoadApproveGrid("");
|
|
LoadHoldSummary();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|