Example #1
0
        public IsSubscribedWithRemainingDate checkUserStatus(string userNo)
        {
            //Check weather user is subcribed or new user....
            var resultmodel = db.objCheckSubcription.Where(t => t.UserName == userNo).Select(t => t).ToList();

            IsSubscribedWithRemainingDate isSubscribedWithRemainingDate = new IsSubscribedWithRemainingDate();

            //for new user or unsubscribed user assign false and o
            isSubscribedWithRemainingDate.Renew = false;
            isSubscribedWithRemainingDate.ExpiredRemainingDate = 0;


            //if New user
            if (resultmodel.Count == 0)
            {
                isSubscribedWithRemainingDate.StatusID = ConstantValues.STATUS_NEW_USER_ID; //4
            }

            //if user exists
            else
            {
                // 1 mean subscribed
                if (resultmodel[0].Status == ConstantValues.STATUS_SUBSCRIBE_ID)
                {
                    isSubscribedWithRemainingDate.StatusID = ConstantValues.STATUS_SUBSCRIBE_ID;//1

                    isSubscribedWithRemainingDate.ExpiredDate = Convert.ToString(resultmodel[0].ExpireDate.ToString("MM/dd/yyyy HH:mm:ss tt"));
                    // isSubscribedWithRemainingDate.ExpiredDate = resultmodel[0].ExpireDate;
                    //.ToString("MM/dd/yyyy HH:mm:ss tt")

                    //Compare Expiread DateTime with Current DateTime

                    variable.CheckResult = DateTime.Compare(DateTime.Now, resultmodel[0].ExpireDate);

                    //variable.CheckResult<0 means DateTime.Now<resultmodel[0].ExpireDate
                    //variable.CheckResult==0 means DateTime.Now==resultmodel[0].ExpireDate
                    //variable.CheckResult>0 means DateTime.Now>resultmodel[0].ExpireDate

                    if (variable.CheckResult > 0)
                    {
                        //expiread date over so status is Unsubscribed
                        ChangeCurrentStatus(userNo);
                        isSubscribedWithRemainingDate.StatusID = ConstantValues.STATUS_UN_SUBSCRIBE_ID; //1
                    }
                    else
                    {
                        isSubscribedWithRemainingDate.ExpiredRemainingDate = Convert.ToInt32((resultmodel[0].ExpireDate - DateTime.Now).TotalDays);

                        //has some time but days 0 so we give day =1
                        if (isSubscribedWithRemainingDate.ExpiredRemainingDate == 0)
                        {
                            isSubscribedWithRemainingDate.ExpiredRemainingDate = 1;
                        }

                        //check if ExpiredRemainingDate is less 30 renew true else renew false
                        if (isSubscribedWithRemainingDate.ExpiredRemainingDate < ConstantValues.SUB_DATE_RANGE)
                        {
                            isSubscribedWithRemainingDate.Renew = true;
                        }
                    }
                }
                //unsubscribed
                else if (resultmodel[0].Status == ConstantValues.STATUS_UN_SUBSCRIBE_ID)
                {
                    isSubscribedWithRemainingDate.StatusID = ConstantValues.STATUS_UN_SUBSCRIBE_ID;  //2
                }

                //Exception
                else
                {
                    isSubscribedWithRemainingDate.StatusID = ConstantValues.STATUS_EXCEPTION_ID; //5
                }
            }


            return(isSubscribedWithRemainingDate);
        }
Example #2
0
        public override void OnAuthorization(AuthorizationContext filterContext)   //
        {
            var rd = filterContext.HttpContext.Request.RequestContext.RouteData;

            variable.ActionName     = rd.GetRequiredString("action");
            variable.ControllerName = rd.GetRequiredString("controller");

            variable.Parameter = filterContext.HttpContext.Request["IsDevice"] as string;

            if (variable.Parameter == null)
            {
                variable.Parameter = rd.Values["IsDevice"] as string;
            }

            if (filterContext.HttpContext.User.Identity.IsAuthenticated)
            {
                variable.UserPhoneNo = filterContext.HttpContext.User.Identity.Name;
            }
            else
            {
                //get User No from Header
                variable.UserPhoneNo = objMsisdnUserStatus.GetMSISDNHeader(filterContext);

                // variable.UserPhoneNo = "8801865554868";
            }



            //   //check if user No is not found

            if (variable.UserPhoneNo == null)
            {
                //header not found redirect
                //if request does not come from device/apk redirect a page

                filterContext.Result = new RedirectToRouteResult(new
                                                                 RouteValueDictionary(new { controller = "Subscribe", action = "HeaderError", IsDevice = variable.Parameter }));
            }
            //        //if user exists
            else
            {
                //To Do check user is in Role

                //base.OnAuthorization(filterContext);

                //get this user status from SubscribeController at IsSubscribedWithRemainingDate(string userNo) method

                checkStatus = objMsisdnUserStatus.checkUserStatus(variable.UserPhoneNo);



                //if status is subscribed statusId=1
                if (checkStatus.StatusID == ConstantValues.STATUS_SUBSCRIBE_ID) //1
                {
                    //check is already authenticate then grant paermission if not try to login
                    if (!filterContext.HttpContext.Request.IsAuthenticated)
                    {
                        //try to login
                        checkStatus.LoginResult = objAccount.DeviceAuthorizationLogin(variable.UserPhoneNo);
                        //if login does not success

                        if (checkStatus.LoginResult == ConstantValues.LOGIN_STATUS_FAILED_ID)   //0
                        {
                            //todo login error try again
                            filterContext.Result = new RedirectToRouteResult(new
                                                                             RouteValueDictionary(new { controller = "Subscribe", action = "LoginFailed", IsDevice = variable.Parameter }));
                        }
                        else
                        {
                            //access granted nothing to do heare
                        }
                    }
                }

                else
                {
                    //for Unsubscribe or New user do throw Subscribe page if request does not come from Device

                    if (variable.Parameter == ConstantValues.Device)
                    {
                        //request come from a Device/apk
                        //Redirect Subscribe/DeviceSubscribe Action with parameter
                        filterContext.Result = new RedirectToRouteResult(new
                                                                         RouteValueDictionary(new { controller = "Subscribe", action = "DeviceSubscribe", Option = checkStatus.StatusID }));
                    }
                    else
                    {
                        filterContext.Result = new RedirectToRouteResult(new
                                                                         RouteValueDictionary(new { controller = "Subscribe", action = "Subscribe", Option = checkStatus.StatusID }));
                    }
                }
            }
        }
Example #3
0
        public ActionResult DeviceLogin(string versionName) //Task<string> string username=null, string password=null double? versionName
        {
            //version check
            if (versionName != ConstantValues.RIP_APK_VERSION_Name)
            {
                IsSubscribedWithRemainingDate.StatusID = ConstantValues.STATUS_APK_VERSION_NOT_ALLOWLED;
            }
            else
            {
                //Header Check

                variable.UserPhoneNo = objCheckMsisdnUserStatus.GetHeaderWhileActionRequested(Request);



                if (variable.UserPhoneNo != null && !variable.UserPhoneNo.Equals(""))
                {
                    //check is user subscribed or unsubscribed or new user

                    IsSubscribedWithRemainingDate = objCheckMsisdnUserStatus.checkUserStatus(variable.UserPhoneNo);
                    //obj.IsSubscribedWithRemainingDate(variable.UserPhoneNo);

                    //then add UserPhoneNO to IsSubscribedWithRemainingDate object
                    IsSubscribedWithRemainingDate.UserPhoneNo = variable.UserPhoneNo;

                    //assign login Status 0 means Failed
                    variable._loginResult = IsSubscribedWithRemainingDate.LoginResult = ConstantValues.LOGIN_STATUS_FAILED_ID;


                    //if user is a subescribed (1) user then check identityUser table

                    if (IsSubscribedWithRemainingDate.StatusID == ConstantValues.STATUS_SUBSCRIBE_ID)
                    {
                        //add userPhone and Login Status ID "0" or "1"
                        //if already Authenticated
                        if (User.Identity.IsAuthenticated)
                        {
                            IsSubscribedWithRemainingDate.LoginResult = ConstantValues.LOGIN_STATUS_SUCCESS_ID;
                        }
                        else
                        {
                            IsSubscribedWithRemainingDate.LoginResult = DeviceAuthorizationLogin(variable.UserPhoneNo);
                        }
                        //return With Login Success 1 or Failed 0
                        return(Json(new { IsSubscribedWithRemainingDate }, JsonRequestBehavior.AllowGet));
                    }

                    //if user is UnSubscribed
                    else if (IsSubscribedWithRemainingDate.StatusID == ConstantValues.STATUS_UN_SUBSCRIBE_ID)
                    {
                        //add userPhone and  LOGIN_STATUS_FAILED_ID

                        return(Json(new { IsSubscribedWithRemainingDate }, JsonRequestBehavior.AllowGet));
                    }

                    else
                    {
                        //if it new user add userPhone and  LOGIN_STATUS_FAILED_ID
                        return(Json(new { IsSubscribedWithRemainingDate }, JsonRequestBehavior.AllowGet));
                    }
                }


                //if header is not found LOGIN_STATUS_NOT_ROBI_ID 2
                IsSubscribedWithRemainingDate.StatusID = ConstantValues.STATUS_NOT_ROBI_ID;
            }
            return(Json(new { IsSubscribedWithRemainingDate }, JsonRequestBehavior.AllowGet));

            //
        }