Esempio n. 1
0
        private Dictionary <string, List <Installment> > GetInstallments(InstallmentRequest installmentRequest)
        {
            Dictionary <string, List <Installment> > all = new Dictionary <string, List <Installment> >();
            double totalAmount = MoneyUtils.ToDouble(installmentRequest.totalAmount);

            foreach (BinAndBank binAndBank in installmentRequest.BinAndBanks())
            {
                string             bankCode     = binAndBank.bankCode;
                int                count        = Convert.ToInt32(bankCode.Substring(3)) + 3;//+3 extension time :D
                List <Installment> installments = new List <Installment>();
                for (int i = 1; i <= count; i++)
                {
                    Installment installment = new Installment
                    {
                        numberOfInstallment = Convert.ToString(i),
                        installmentAmount   = MoneyUtils.FormatTurkishLira(totalAmount / (ulong)i),
                        totalAmount         = MoneyUtils.FormatTurkishLira(totalAmount),
                        vposConfig          = PrepareVposConfig(bankCode)
                    };
                    installments.Add(installment);
                }
                all.Add(binAndBank.bin, installments);
            }
            return(all);
        }
Esempio n. 2
0
        public static void SaveInstallmentRequest(InstallmentRequestViewModel model, string UserId)
        {
            LoanAndRepayEntities entities           = new LoanAndRepayEntities();
            InstallmentRequest   installmentRequest = new InstallmentRequest();

            DAL.Address address = new DAL.Address();

            //First saves the installment request information in the installment table
            installmentRequest.UserId         = UserId;
            installmentRequest.Company        = model.Company;
            installmentRequest.FirstName      = model.FirstName;
            installmentRequest.LastName       = model.LastName;
            installmentRequest.Email          = model.Email;
            installmentRequest.Age            = model.Age;
            installmentRequest.Phone          = model.Phone;
            installmentRequest.Amount         = model.Amount;
            installmentRequest.PayWithIn      = model.PayWithIn;
            installmentRequest.MonthlyPayment = model.MonthlyPayment;
            installmentRequest.Status         = model.Status;
            entities.InstallmentRequests.Add(installmentRequest);
            entities.SaveChanges();
            var checkExistingInstallment = entities.InstallmentRequests.Where(x => x.Company == model.Company && x.Email == model.Email).FirstOrDefault();

            //Then saves the installment request address in the address table
            address.StreetName  = model.StreetName;
            address.HouseNumber = model.HouseNumber;
            address.CityName    = model.CityName;
            address.PostCode    = model.PostCode;

            address.InstallmentId = checkExistingInstallment.Id;
            entities.Addresses.Add(address);
            entities.SaveChanges();
        }
Esempio n. 3
0
        private InstallmentsResponse GetInstallmentResponse(InstallmentRequest installmentRequest, InstallmentsResponse installmentsResponse)
        {
            Dictionary <string, List <Installment> > installments = GetInstallments(installmentRequest);

            installmentsResponse.installments = installments;
            installmentsResponse.status       = "ok";
            installmentsResponse.error        = "";
            return(installmentsResponse);
        }
Esempio n. 4
0
        public JsonResult Installments([FromBody] InstallmentRequest installmentRequest)
        {
            InstallmentsResponse installmentsResponse = new InstallmentsResponse();

            if (installmentRequest?.bin == null || installmentRequest.ticketId == null || installmentRequest.totalAmount == null || !EncryptionUtil.VerifyBexSignature(installmentRequest.ticketId, installmentRequest.signature))
            {
                installmentsResponse.error = "RequestBody fields cannot be null or signature verification failed";
                return(Json(installmentsResponse));
            }
            return(Json(GetInstallmentResponse(installmentRequest, installmentsResponse)));
        }