public ActionResult AttemptToRetrieveSubscriptionstatus(SubscriptionStatusRequest request)
        {
            try
            {
                var status = _paymentHandlerSubscription.GetStatus(request.SubscriptionId !);

                return(Json(new { _status = status }));
            }
            catch (Exception e)
            {
                return(Json(new { _error = e.Message }));
            }
        }
Exemple #2
0
 //CHECKS IF CURRENT USER HAS A VALID SUBSCRIPTION
 private ActionResult CheckSubscription()
 {
     try
     {
         int userBaseId = _userService.GetCurrentUserId();
         SubscriptionStatusRequest subStatus = new SubscriptionStatusRequest();
         subStatus = _userService.GetSubStatus(userBaseId);
         //THIS CASE IS FOR IF YOU'VE BEEN INVITED BY AN ADMIN TO BE A SUBSCRIBER
         //YOU WILL BE REDIRECTED TO THE SUBSCRIPTION SIGN UP PAGE UPON REGISTRATION COMPLETION
         if (subStatus.SubExists == false && subStatus.SubValid == false)
         {
             return(RedirectToAction("Subscriptions"));
         }
         //THIS CASE IS FOR IF YOUR SUBSCRIPTION EXISTS BUT HAS ENDED. WILL AUTOMATICALLY RENEW VIA
         //HANGFIRE/STRIPE AND THEN WILL RETURN AN EMPTY VIEW FOR YOU TO CONTINUE WITH WHATEVER
         //PAGE YOU WERE GOING TO
         else if (subStatus.SubExists == true && subStatus.SubValid == false)
         {
             RenewSubscriptionById(userBaseId);
             return(View());
         }
         //THIS CASE IS FOR IF YOUR SUBSCRIPTION EXISTS AND IS VALID
         return(View());
     }
     //SET UP AN ERROR IN SQL. IF ERROR IS THROWN, WILL CATCH IT HERE AND PASS
     //ERROR MESSAGE TO HOME/INDEX PAGE WHERE SWEET ALERT WILL APPEAR TO TELL USER
     //THAT THEIR SUBSCRIBER/INVITER'S SUBSCRIPTION HAS ENDED. SENT TO HOME PAGE SO THEY
     //CAN CLICK ON REQUEST INVITE BUTTON.
     catch (Exception ex)
     {
         //TEMP DATA IS A ONE-TIME WAY TO SEND DATA TO ANOTHER CONTROLLER OR TO A VIEW
         TempData["Message"] = ex.Message;
         //USING REDIRECTTOACTION TO REDIRECT CONTROL TO CONTROLLER AND ACTION STATED BELOW
         return(RedirectToAction("Index", new RouteValueDictionary(new { controller = "Home", action = "Index" })));
     }
 }