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); }
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(); }
private InstallmentsResponse GetInstallmentResponse(InstallmentRequest installmentRequest, InstallmentsResponse installmentsResponse) { Dictionary <string, List <Installment> > installments = GetInstallments(installmentRequest); installmentsResponse.installments = installments; installmentsResponse.status = "ok"; installmentsResponse.error = ""; return(installmentsResponse); }
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))); }