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 })); } }
//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" }))); } }