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.
 
 
 
 
 

344 lines
14 KiB

using Business.Configuration;
using Business.Customer;
using Common.Helper;
using Common.Model.BankModel;
using JMEAgentSystem.Library;
using Newtonsoft.Json;
using Repository.DAO;
using Repository.DAO.SendTxnIRHDao;
using Repository.Model;
using Repository.ThirdPartyApiServices;
using Swift.API.Common;
using Swift.API.Common.ExRate;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace JMEAgentSystem.WebPages.SendTxn
{
public partial class SendTxnRequest : System.Web.UI.Page
{
private readonly ICustomerServices _customerServices = AutoFacContainer.Resolve<ICustomerServices>();
private readonly StaticDataDdl _sdd = new StaticDataDdl();
private readonly SendTxnIRHDao st = new SendTxnIRHDao();
RemittanceDao _rdao = new RemittanceDao();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
try
{
GetStatic.PrintMessage(this.Page);
populateDdl();
var methodName = GetStatic.ReadFormData("MethodName", "");
switch (methodName)
{
case "PaymentModePcountry":
LoadDataFromDdl("pMode");
break;
case "loadAgentBank":
LoadDataFromDdl("agentByPmode");
break;
case "getPayoutPartner":
GetPayoutPartner();
break;
case "PopulateBranch":
GetBankBranch();
break;
case "CalculateTxn":
Calculate();
break;
case "ValidateDetails":
ValidateDetails();
break;
}
}
catch (Exception ex)
{
}
}
}
public void populateDdl()
{
LoadReceiverCountry(ref pCountry, "", "SELECT");
_sdd.SetDDL(ref relationship, "EXEC proc_online_dropDownList @flag='dropdownList',@user='" + GetStatic.GetUser() + "',@parentId=2100", "valueId", "detailTitle", "", "Select..");
_sdd.SetDDL(ref purpose, "EXEC proc_online_dropDownList @flag='dropdownList',@user='" + GetStatic.GetUser() + "',@parentId=3800", "valueId", "detailTitle", "8060", "Select..");
}
private void LoadDataFromDdl(string type)
{
var pAgentFv = Request.Form["pAgent"];
var pModeFv = Request.Form["pmode"];
var pCountryFv = Request.Form["pCountry"];
DataTable dt = null;
switch (type)
{
case "pMode":
dt = st.LoadDataFromDdl(GetStatic.GetCountryId(), pCountryFv, pModeFv, GetStatic.GetAgent(), "recModeByCountry", GetStatic.GetUser());
break;
case "agentByPmode":
if (string.IsNullOrWhiteSpace(pModeFv) || string.IsNullOrWhiteSpace(pCountryFv))
{
Response.Write(null);
Response.End();
return;
}
dt = st.LoadDataFromDdl(GetStatic.GetCountryId(), pCountryFv, pModeFv, GetStatic.GetAgent(), "recAgentByRecModeAjaxagent", GetStatic.GetUser());
break;
case "LoadScheme":
dt = st.LoadDataFromDdl(GetStatic.GetCountryId(), pCountryFv, pModeFv, pAgentFv, "schemeBysCountryrAgent", GetStatic.GetUser());
break;
}
Response.ContentType = "text/plain";
var json = _rdao.DataTableToJson(dt);
Response.Write(json);
Response.End();
}
private void LoadReceiverCountry(ref DropDownList ddl, string defaultValue, string label)
{
var sql = "EXEC proc_sendPageLoadData @flag='pCountry',@countryId='" + GetStatic.GetCountryId() + "',@agentid='" + GetStatic.GetAgentId() + "'";
_sdd.SetDDL(ref ddl, sql, "countryId", "countryName", defaultValue, label);
}
private void GetPayoutPartner()
{
string pCountry = Request.Form["pCountry"];
string pMode = Request.Form["pMode"];
//var dt = st.LoadCustomerData(searchType, searchValue, "s", GetStatic.GetCountryId(), GetStatic.GetSettlingAgent());
var dt = st.GetPayoutPartner(GetStatic.GetUser(), pCountry, pMode);
if (dt == null)
{
Response.Write("");
Response.End();
return;
}
Response.ContentType = "text/plain";
string json = DataTableToJson(dt);
Response.Write(json);
Response.End();
}
public static string DataTableToJson(DataTable table)
{
if (table == null)
return "";
var list = new List<Dictionary<string, object>>();
foreach (DataRow row in table.Rows)
{
var dict = new Dictionary<string, object>();
foreach (DataColumn col in table.Columns)
{
dict[col.ColumnName] = string.IsNullOrEmpty(row[col].ToString()) ? "" : row[col];
}
list.Add(dict);
}
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(list);
return json;
}
public string GetAPIPartnerId()
{
string partnerIds = GetStatic.ReadWebConfig("transfast", "") + "," + GetStatic.ReadWebConfig("jmeNepal", "") + "," + GetStatic.ReadWebConfig("donga", "");
return partnerIds;
}
protected void GetBankBranch()
{
string bank = Request.Form["Bank"];
string Country = Request.Form["Country"];
string searchText = Request.Form["searchText"];
string page = Request.Form["page"];
if (string.IsNullOrWhiteSpace(bank))
{
GetStatic.JsonResponse("", this);
}
BankSearchModel bankSearchModel = new BankSearchModel()
{
SearchType = "",
SearchValue = searchText,
PAgent = bank,
PAgentType = "I",
PCountryName = Country,
PayoutPartner = Request.Form["payoutPartner"],
PaymentMode = Request.Form["PayMode"]
};
IList<BranchModel> bankModelList = st.LoadBranchByAgent(bankSearchModel);
GetStatic.JsonResponse(bankModelList, this);
//JsonSerialize(bankModelList);
}
protected void Calculate()
{
DataTable dt = new DataTable();
ExRateRequest exRate = new ExRateRequest();
ExchangeRateAPIService ExService = new ExchangeRateAPIService();
exRate.RequestedBy = "core";
string a = Request.Form["IsExrateFromPartner"];
exRate.isExRateCalcByPartner = (Request.Form["IsExrateFromPartner"] == "true") ? true : false;
exRate.PCountry = Request.Form["pCountry"];
exRate.pCountryName = Request.Form["pCountrytxt"];
exRate.ServiceType = Request.Form["pMode"];
exRate.PaymentType = Request.Form["pModetxt"];
exRate.PAgent = Request.Form["pAgent"];
var pAgentBranch = Request.Form["pAgentBranch"];
exRate.CAmount = Request.Form["collAmt"];
exRate.PAmount = Request.Form["payAmt"];
exRate.SCurrency = Request.Form["collCurr"];
exRate.PCurrency = Request.Form["payCurr"];
exRate.CustomerId = Request.Form["senderId"];
exRate.SchemeId = Request.Form["schemeCode"];
exRate.ForexSessionId = Request.Form["couponId"];
exRate.IsManualSc = (Request.Form["isManualSc"] == "N" ? false : true);
exRate.ManualSc = Request.Form["sc"];
if (exRate.isExRateCalcByPartner)
{
exRate.SCountry = GetStatic.GetCountryId();
exRate.SSuperAgent = GetStatic.GetSuperAgent();
exRate.SAgent = GetStatic.GetAgent();
exRate.SBranch = GetStatic.GetBranch();
exRate.CollCurrency = Request.Form["collCurr"];
exRate.pCountryCode = Request.Form["PCountryCode"];
exRate.ProviderId = Request.Form["payoutPartner"];
string ProcessId = Guid.NewGuid().ToString().Replace("-", "") + ":transfast:exRate";
exRate.ProcessId = ProcessId.Substring(ProcessId.Length - 40, 40);
JsonResponse res = ExService.GetExchangeRate(exRate);
ExRateResponse _exrate = (ExRateResponse)res.Data;
//dt = st.GetExRateTP(GetStatic.GetUser()
// , GetStatic.GetCountryId()
// , GetStatic.GetSuperAgent()
// , GetStatic.GetAgent()
// , GetStatic.GetBranch()
// , exRate.SCurrency
// , exRate.PCountry
// , exRate.PAgent
// , exRate.PCurrency
// , exRate.ServiceType
// , exRate.CAmount
// , exRate.PAmount
// , exRate.SchemeId
// , exRate.CustomerId
// //, GetStatic.GetSessionId()
// , exRate.ForexSessionId
// , Request.Form["isManualSc"]
// , exRate.ManualSc
// , _exrate.exRate
// , exRate.PCurrency
// );
}
else
{
dt = st.GetExRate(GetStatic.GetUser()
, GetStatic.GetCountryId()
, "393877"
, "394390"
, "394390"
, exRate.SCurrency
, exRate.PCountry
, exRate.PAgent
, exRate.PCurrency
, exRate.ServiceType
, exRate.CAmount
, exRate.PAmount
, exRate.SchemeId
, exRate.CustomerId
//, GetStatic.GetSessionId()
, exRate.ForexSessionId
, "N"
, "N"
);
}
Response.ContentType = "text/plain";
var json = DataTableToJson(dt);
Response.Write(json);
Response.End();
}
protected void Save_Click(object sender, EventArgs e)
{
var idNumber = senderIdNumber.Text;
var receiverFullNameValue = receiverFullName.Text;
var receiveraddressValue = receiveraddress.Text;
var receiverMobileNumberValue = receiverMobileNumber.Text;
var pCountryId = pCountry.SelectedValue;
var pmodeId = hddPmode.Value;
var pagentId = hddPagent.Value;
var branchId = hddpBranch.Value;
var accountnoValue = accountNo.Text;
var cAmt = txtCollAmt.Text;
var tamt = hddTamt.Value;
var serviceCharge = hddServiceCharge.Value;
var purposeOfRemittanceId = purpose.SelectedValue;
var relationShipId = relationship.SelectedValue;
var referralNameValue = referralName.Text;
SendTransactionModel sendTxn = new SendTransactionModel()
{
IdNumber = idNumber,
ReceiverFullName = receiverFullNameValue,
Receiveraddress = receiveraddressValue,
ReceiverMobileNumber = receiverMobileNumberValue,
PCountryId = pCountryId,
PmodeId = pmodeId,
PagentId = pagentId,
BranchId = branchId,
AccountNumber = accountnoValue,
CAmt = cAmt,
Tamt = tamt,
ServiceCharge = serviceCharge,
PurposeOfRemittance = purposeOfRemittanceId,
RelationShip = relationShipId,
ReferralName = referralNameValue
};
var result = st.SaveSendRequest(GetStatic.GetUser(), sendTxn);
if(result.ErrorCode == "0")
{
GetStatic.SetMessage(result.ErrorCode, result.Msg);
Response.Redirect("SendTxnRequest.aspx");
}
else
{
pCountry.SelectedValue = "";
GetStatic.AlertMessage(this.Page, result.Msg);
}
}
private void ValidateDetails()
{
var membershiId = Request.Form["membershipId"].ToString();
var receiverFullName = Request.Form["receiverName"].ToString();
var res = st.ValidateData(GetStatic.GetUser(), membershiId, receiverFullName);
var json = DataTableToJson(res);
Response.ContentType = "text/plain";
Response.Write(json);
Response.End();
}
}
}