public ActionResult PayForPlan(PayForPlanViewModel payForPlanToInsert, string reqId) { NullChecker.NullCheck(new object[] { reqId }); var reqid = EncryptionHelper.Unprotect(reqId); var requestToPay = unitOfWork.PlanRequetRepository.GetByID(reqid); if (ModelState.IsValid) { if (requestToPay.requesterUserID == WebSecurity.CurrentUserId && reqId == payForPlanToInsert.reqId) { if (payForPlanToInsert.payBank == PayBank.PayPal) { string result; String[] resultArray = {}; long token = 0; BypassCertificateError(); //Payment process goes here ***** //TempData["res"] = result; if (resultArray[0] == "0") { requestToPay.reqToken = token; unitOfWork.Save(); ViewData["RefId"] = resultArray[1]; return(View("~/Views/Payment/PaymentRedirect.cshtml")); } else { ViewData["errorMess"] = Resource.Resource.payTransactionError; return(View("~/Views/Error/CustomError.cshtml")); } } else { return(new RedirectToError()); } } else { return(new RedirectToError()); } } else { throw new ModelStateException(this.ModelState); } }
public ActionResult PayForPlan(string reqId) { NullChecker.NullCheck(new object[] { reqId }); var request = unitOfWork.PlanRequetRepository.GetByID(EncryptionHelper.Unprotect(reqId)); if (request.payment == null) { if (request.requesterUserID == WebSecurity.CurrentUserId && request.approve == false) { PayForPlanViewModel viewmodel = new PayForPlanViewModel(); viewmodel.reqId = EncryptionHelper.Protect(request.reqID); viewmodel.requesterUserId = EncryptionHelper.Protect(request.requesterUserID); viewmodel.plan = request.plan; if (request is RequestForNew) { viewmodel.PlanRequest = (RequestForNew)request; } else if (request is RevivalRequest) { viewmodel.PlanRequestRevival = (RevivalRequest)request; } var payBanks = from PayBank e in Enum.GetValues(typeof(PayBank)) select new { Id = e, Name = Resource.EnumTypes.ResourceManager.GetString(e.ToString()) }; viewmodel.bankTypeToSelectList = new SelectList(payBanks, "Id", "Name"); return(View(viewmodel)); } else { return(new RedirectToError()); } } return(View("PayBefore")); }