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.
|
|
using Common; using Common.Helper; using Common.KFTC; using Common.Model; using Common.Model.Resend; using Newtonsoft.Json; using Repository.Mobile; using Repository.Resend; using System; using System.Collections.Generic; using System.IO; using System.Runtime.Remoting.Messaging;
namespace Business.Resend { public class ResendBusiness : IResendBusiness { private readonly IResendRepository _resendRepository; private readonly IMobileServicesRepo _mobileRepository;
public ResendBusiness() { }
public ResendBusiness(IResendRepository resendRepository, IMobileServicesRepo mobileServicesRepo) { _resendRepository = resendRepository; _mobileRepository = mobileServicesRepo; }
public JsonRxResponse GetResendLists(DateFilterParams search, string customerId) { var tranList = _resendRepository.GetTransactionLists(search, customerId);
List<AccountDetails> lsAccount = _mobileRepository.GetPaymentAccountsByCustomer(customerId); lsAccount.ForEach(x => x.KftcAccountId = Crypto.Encrypt(x.KftcAccountId, Utilities.ReadWebConfig("ktft_client_info_salt", ""))); tranList.ForEach(x => x.TranId = Crypto.Encrypt(x.TranId, Utilities.ReadWebConfig("ktft_client_info_salt", "")));
var str = new ResendTranList { Transactions = tranList, Accounts = lsAccount }; return new JsonRxResponse { ErrorCode = "0", Msg = "Success", Data = str }; }
public JsonRxResponse GetTransactionSummary(string id) { ResendReceiverDetail receiverDetail; ExRateCalculateRequest rxDetail; MobileRemitRequest remitRequest;
id = Crypto.Decrypt(id, Utilities.ReadWebConfig("ktft_client_info_salt", ""));
JsonRxResponse mreq = _resendRepository.GetRemitDetail(id, out rxDetail, out remitRequest, out receiverDetail); if (mreq != null) { if (mreq.ErrorCode.Equals("0")) { var str = new ResendSummary();
var path = GetStatic.ReadWebConfig("ServiceType_Resource", ""); var text = File.ReadAllText(path); List<ServiceTypeDetails> sd = JsonConvert.DeserializeObject<List<ServiceTypeDetails>>(text); var lang = Convert.ToString(CallContext.GetData(Constants.Language)); if (string.IsNullOrEmpty(lang)) { lang = "en"; }
var idx = sd.FindIndex(x => x.countryCode == lang); var data = new ServiceTypeDetails(); if (idx < 0) { data = sd[sd.FindIndex(x => x.countryCode == "en")]; } else { data = sd[idx]; }
foreach (var item in receiverDetail.deliveryMethod) { switch (receiverDetail.deliveryMethod) { case "cash payment": rxDetail.serviceTypeDescription = data.cashPayment; break;
case "bank deposit": rxDetail.serviceTypeDescription = data.bankDeposit; break;
case "mobile wallet": rxDetail.serviceTypeDescription = data.mobileWallet; break;
case "home delivery": rxDetail.serviceTypeDescription = data.homeDelivery; break;
case "card payment": rxDetail.serviceTypeDescription = data.cardPayment; break; } }
str.ExRate = rxDetail; str.RemitDetail = remitRequest; str.Receiver = receiverDetail; return new JsonRxResponse { ErrorCode = "0", Msg = "Success", Data = str }; } }
return new JsonRxResponse { ErrorCode = "1", Msg = mreq.Msg, Data = null }; } }
internal class ResendTranList { public List<TranList> Transactions { get; set; } public List<AccountDetails> Accounts { get; set; } }
internal class ResendSummary { public ExRateCalculateRequest ExRate { get; set; } public MobileRemitRequest RemitDetail { get; set; } public ResendReceiverDetail Receiver { get; set; } } }
|