Example #1
0
        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);
            }
        }
Example #2
0
        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"));
        }