Untitled

 avatar
unknown
plain_text
3 years ago
4.6 kB
5
Indexable
        [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 });
            }
        }