コード例 #1
0
 public IHttpActionResult Index([FromUri] string token, [FromBody] SubscriberVM model)
 {
     if (string.IsNullOrWhiteSpace(token) || !ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     try
     {
         APIService.Subscription.UpdateSubscriber(model, token);
         return(Ok());
     }
     catch
     {
         return(BadRequest(ModelState));
     }
 }
コード例 #2
0
 public IHttpActionResult Index([FromBody] SubscriberVM model)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     try
     {
         APIService.Subscription.UpdateSubscriber(model);
         return(Ok());
     }
     catch
     {
         return(BadRequest(ModelState));
     }
 }
コード例 #3
0
        public ActionResult Subscription(string msisdn, bool go, bool mobi, string heda, bool frmGame, long uID = 0)
        {
            try
            {
                ReturnMessage rm = null;
                ViewBag.heda = (string.IsNullOrEmpty(heda)) ? null : heda;
                bool isMobi = false;
                ViewBag.Go      = go;
                ViewBag.frmGame = frmGame;
                if (Request.UserAgent.Contains("Mobi") == true)
                {
                    isMobi = true;
                }
                ViewBag.IsMobile  = isMobi;
                ViewBag.mtnNumber = string.IsNullOrEmpty(msisdn) ? null : msisdn;
                string subResponse = null;

                //Get App User Record
                var     userRetVal = _NGSubscriptionsEntities.AppUser.Where(a => a.AppUserId == uID);
                AppUser appUser    = null;
                if (userRetVal != null)
                {
                    appUser = userRetVal.FirstOrDefault();
                }

                SubscriberVM SVM;
                if (!string.IsNullOrEmpty(msisdn))//MTN Number
                {
                    ReturnMessage mtnRetVal = null;
                    mtnRetVal = _AppUserController.GetMTNSubscriptionDetails(msisdn, serviceShortcode);

                    if (go && isMobi)//MTN Number with Subscription Clicked
                    {
                        //Initiate USSD Subscription
                        new Thread(() =>
                        {
                            LocalLogger.LogFileWrite(
                                JsonConvert.SerializeObject(new LogVM()
                            {
                                Message = "Initiating USSD Subscription",
                                LogData = msisdn
                            }));
                        }).Start();

                        if (mtnRetVal.Data == null)
                        {
                            if (appUser != null && !string.IsNullOrEmpty(appUser.szMobilePayer) && appUser.szMobilePayer.Trim() != msisdn.Trim())
                            {
                                subResponse = MTNUSSDSubscription(uID, appUser.szMobilePayer, true, serviceShortcode, null, heda);
                            }
                            else
                            {
                                subResponse = MTNUSSDSubscription(uID, msisdn, true, serviceShortcode, null, heda);
                            }

                            ViewBag.responseMSG = subResponse;

                            rm = new ReturnMessage()
                            {
                                Message = subResponse,
                                Success = mtnRetVal.Success,
                                Data    = SVM = new SubscriberVM()
                                {
                                    Subscriber  = null,
                                    Exp         = null,
                                    ServiceName = null,
                                    Status      = null,
                                    Sub         = null
                                }
                            };
                        }
                        else
                        {
                            var subData = (GameData.GetMTNUserSubscriptionDetails_Result)mtnRetVal.Data;
                            if (subData.Exp < DateTime.Now)
                            {
                                subResponse         = MTNUSSDSubscription(uID, msisdn, true, serviceShortcode, null, heda);
                                ViewBag.responseMSG = subResponse;
                            }

                            rm = new ReturnMessage()
                            {
                                Message = subResponse,
                                Success = mtnRetVal.Success,
                                Data    = SVM = new SubscriberVM()
                                {
                                    Subscriber  = subData.Subscriber,
                                    Exp         = subData.Exp,
                                    ServiceName = subData.ServiceName,
                                    Status      = subData.Status,
                                    Sub         = subData.Sub
                                }
                            };
                        }
                        //else
                        //{
                        //    rm = new ReturnMessage()
                        //    {
                        //        Message = subResponse,
                        //        Success = mtnRetVal.Success,
                        //        Data = SVM = new SubscriberVM()
                        //        {
                        //            Exp = null,
                        //            ServiceName = null,
                        //            Status = null,
                        //            Sub = null
                        //        }
                        //    };
                        //}
                    }
                    else if (!go && isMobi)//MTN Number with Subscription NOT Clicked
                    {
                        if (mtnRetVal.Data == null)
                        {
                            rm = new ReturnMessage()
                            {
                                Message = subResponse,
                                Success = mtnRetVal.Success,
                                Data    = SVM = new SubscriberVM()
                                {
                                    Subscriber  = null,
                                    Exp         = null,
                                    ServiceName = null,
                                    Status      = null,
                                    Sub         = null
                                }
                            };
                        }
                        else
                        {
                            var subData = (GameData.GetMTNUserSubscriptionDetails_Result)mtnRetVal.Data;
                            ViewBag.responseMSG = null;
                            rm = new ReturnMessage()
                            {
                                Message = subResponse,
                                Success = mtnRetVal.Success,
                                Data    = SVM = new SubscriberVM()
                                {
                                    Subscriber  = subData.Subscriber,
                                    Exp         = subData.Exp,
                                    ServiceName = subData.ServiceName,
                                    Status      = subData.Status,
                                    Sub         = subData.Sub
                                }
                            };
                        }
                    }
                }
                else
                {
                    //Pull Valid Login User Data from Session
                    ReturnMessage retVal = null;
                    if (uID > 0)
                    {
                        retVal      = _AppUserController.GetSubscriptionDetails(uID, svcName, serviceShortcode);
                        subResponse = retVal.Message;
                        if (retVal.Data == null)
                        {
                            ViewBag.responseMSG = subResponse;

                            rm = new ReturnMessage()
                            {
                                Message = subResponse,
                                Success = retVal.Success,
                                Data    = SVM = new SubscriberVM()
                                {
                                    Subscriber  = null,
                                    Exp         = null,
                                    ServiceName = null,
                                    Status      = null,
                                    Sub         = null
                                }
                            };
                        }
                        else
                        {
                            var subData = (GetAppUserSubscriptionDetails_Result)retVal.Data;
                            rm = new ReturnMessage()
                            {
                                Message = subResponse,
                                Success = retVal.Success,
                                Data    = SVM = new SubscriberVM()
                                {
                                    Subscriber  = subData.Subscriber,
                                    Sub         = subData.PeriodStart,
                                    Exp         = subData.PeriodEnd,
                                    ServiceName = subData.Period,
                                    Status      = subData.IsActive ? 1 : 0
                                }
                            };
                        }
                    }
                    else
                    {
                        rm = new ReturnMessage()
                        {
                            Message = "Could not find user",
                            Success = false,
                            Data    = SVM = new SubscriberVM()
                            {
                                Subscriber  = null,
                                Exp         = null,
                                ServiceName = null,
                                Status      = null,
                                Sub         = null
                            }
                        };
                    }
                }

                //Just for test of Auto Registration
                //ViewBag.IsMobile = true;
                //ViewBag.mtnNumber = "2348147911707";
                ViewBag.fltwvSubscription = null;
                if (System.Web.HttpContext.Current.Session["fltwvSubscription"] != null)
                {
                    ViewBag.fltwvSubscription = System.Web.HttpContext.Current.Session["fltwvSubscription"].ToString();
                }
                System.Web.HttpContext.Current.Session["fltwvSubscription"] = null;
                return(View(rm));
            }
            catch (Exception ex)
            {
                new Thread(() =>
                {
                    LocalLogger.LogFileWrite(
                        JsonConvert.SerializeObject(new VIEWMODEL.LogVM()
                    {
                        Message = "Controller Method Error",
                        LogData = ex
                    }));
                }).Start();
                return(View());
            }
        }
コード例 #4
0
 public void Update(SubscriberVM model)
 {
     this.Email = model.Email == null ? this.Email : model.Email;
     this.IsSubscribedToResearches = model.IsSubscribedToResearches;
     this.SubscriptionTime         = model.SubscriptionTime == 0 ? this.SubscriptionTime : model.SubscriptionTime;
 }