[HttpPost]
public ActionResult Select(string serial, string personalNo, CapitalInvestSelectDisbursementViewModel _select)
{
MembershipUser user = Membership.GetUser();
Guid userGuid = (Guid)user.ProviderUserKey;
string agentUsername = user.UserName;
string error = "", TRX_ID = "";
bool hasError = false;
DISBURSEMENT_SEARCH_RESPONSE getLoan;
try
{
try
{
string path = Server.MapPath("~/Uploads/ID/");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
var files = Directory.GetFiles(Server.MapPath("~/Uploads/ID/"), personalNo + ".*");
if (files.Length > 0)
{
System.IO.File.Move(path + personalNo + Path.GetExtension(files[0]),
path + personalNo + DateTime.Now.ToString("-dd-MM-yyyy hhmmss") + Path.GetExtension(files[0]));
}
_select.ScannedPayerId.SaveAs(path + personalNo + Path.GetExtension(_select.ScannedPayerId.FileName));
}
catch (Exception er)
{
Mail.sendMail(Config.itEmail, Config.itEmail, null, "Kontrollo Deshtim --> " + Config.CIServiceName + " Nuk u ruajt foto per: " + personalNo,
"Nuk u ruajt foto per: " + JsonConvert.SerializeObject(er.Message) + " " + JsonConvert.SerializeObject(er.StackTrace));
}
getLoan = getLoansToDisburs(personalNo);
if (getLoan.status != DISBURSEMENT_SEARCH_STATES.SUCCESS)
{
return RedirectToAction("Start", new { err = getLoan.status });
}
if (getLoan.loans.LoanApplications.Count() == 0)
{
return RedirectToAction("Start", new { err = "NO_INSTALLMENTS_2_PAY" });
}
var searchedLoan = getLoan.loans.LoanApplications.FirstOrDefault(a => a.LoanId == serial);
TRX_ID = generateTRX_ID();
_db.trx_masters.InsertOnSubmit(new trx_master()
{
trx_id = TRX_ID,
id_agent = userGuid,
sherbimi = Config.capitalInvestServiceName,
produkt_name = Config.capitalInvestDisbursementProduktName,
status_shitje = 1,
status_rimbushje = 1,
marresi = getLoan.loans.FullName,
dgcel = "-",
voucher = _select.Date.ToString(),//nuk eshte zgjedhur ende voucher-i
serial_no = serial,
cmimi = _select.Amount,
agjenti = agentUsername,
channel = "WEB",
krijuar = DateTime.Now,
refunded = "JO",
tipi = Config._trx_type_Kredi
});
_db.trx_loanInfos.InsertOnSubmit(new trx_loanInfo()
{
loanRef = searchedLoan.LoanId,
trx_id = TRX_ID,
service = Config.capitalInvestServiceName,
clientId = getLoan.loans.PersonalNumber,
clientName = getLoan.loans.FullName,
amountPaid = _select.SumToPay,
fee = 0,
loanPeriod = 0,
product = Config.capitalInvestDisbursementProduktName,
remainingBalance = searchedLoan.LoanAmount,
totalBalance = searchedLoan.LoanAmount,
phoneGivenToEP = "",
emailGivenToEP = "",
payeeFullName = "",//_select.Paguesi,
payerPersonalNumber ="",// _select.PaguesiId,
});
_db.SubmitChanges();
}
catch (Exception e)
{
hasError = true; error = "SECON";
}
if (hasError)
{
return RedirectToAction("Select", new
{
err = error,
serial = serial
});
}
else
{
return RedirectToAction("Confirm", new { trxId = TRX_ID });
}
}