コード例 #1
0
        public ActionResult get()
        {
            //需要判斷參數是否有
            THC_Library.Error error;
            var reqActivity   = Request.QueryString["act"];
            var reqCode       = Request.QueryString["code"];
            var reqTimestamp  = Request.QueryString["tk"];
            var reqAccount    = Request.QueryString["ml"];
            var reqMobil      = Request.QueryString["m"];
            var reqLogKey     = Request.QueryString["lk"];
            var reqCoupNumber = Request.QueryString["coup"];
            var reqVaildDate  = Request.QueryString["vdate"];
            var reqRwdType    = Request.QueryString["type"];
            var reqRwdImg     = Request.QueryString["img"];

            var reqCity = Request.QueryString["city"];
            var reqLat  = Request.QueryString["lat"];
            var reqLong = Request.QueryString["lng"];

            if (string.IsNullOrEmpty(reqAccount) || string.IsNullOrEmpty(reqCode) || string.IsNullOrEmpty(reqTimestamp) ||
                string.IsNullOrEmpty(reqAccount))
            {
                ViewBag.Message     = "";
                ViewBag.MessageInfo = "";
                return(View("outOfPage"));
            }

            int event_no;

            Models.CodeRender codeRender = new Models.CodeRender();
            bool bOK = codeRender.done(reqActivity, reqCode, reqTimestamp, reqAccount, reqCity, reqLat, reqLong,
                                       reqCoupNumber, reqLogKey, out event_no, out error);

            if (error != null)
            {
                ViewBag.Message = error.ErrorMessage;
                return(View("wrongPage"));
            }
            else
            {
                ViewBag.MOBIL          = reqMobil;
                ViewBag.RWD_COUPNUMBER = reqCoupNumber;
                ViewBag.RWD_IMG        = reqRwdImg;

                if (reqRwdType == "0")
                {
                    ViewBag.RWD_DATE = reqVaildDate;
                    ViewBag.ACC      = reqAccount;
                    ViewBag.EVENT    = event_no.ToString();
                    ViewBag.TICKET   = reqTimestamp;
                    ViewBag.DOMAIN   = Models.Domain.REMOTE_ACCESS_DOMAIN;
                    return(View("get"));
                }
                else if (reqRwdType == "1")
                {
                    ViewBag.ACC    = reqAccount;
                    ViewBag.EVENT  = event_no.ToString();
                    ViewBag.TICKET = reqTimestamp;
                    ViewBag.DOMAIN = Models.Domain.REMOTE_ACCESS_DOMAIN;
                    return(View("getPhyical"));
                }
                else
                {
                    ViewBag.Message     = "";
                    ViewBag.MessageInfo = "";
                    return(View("outOfPage"));
                }
            }
        }
コード例 #2
0
        public ActionResult preGo(string ac, string code)
        {
            //if (!THC_Library.RequestChecker.IsMobil(Request.ServerVariables["HTTP_USER_AGENT"]))
            //{
            //    return View();
            //}
            //else
            {
                if (string.IsNullOrEmpty(ac) || string.IsNullOrEmpty(code))
                {
                    return(View("outOfPage"));
                }

                THC_Library.Error error;

                Models.CodeRender codeRender = new Models.CodeRender();
                codeRender.checkActivityAndCode(ac, code, out error);

                if (error != null)
                {
                    switch (error.Number)
                    {
                    case THC_Library.CodeRenderException.ACTIVITY_FINISHED:
                        ViewBag.Message     = "活動已結束";
                        ViewBag.MessageInfo = error.ErrorMessage;
                        return(View("outOfPage"));

                    case THC_Library.CodeRenderException.ACTIVITY_NOT_START:
                        ViewBag.Message     = "活動尚未開始";
                        ViewBag.MessageInfo = error.ErrorMessage;
                        return(View("outOfPage"));

                    case THC_Library.CodeRenderException.INVAILD_ACTIVITY:
                        ViewBag.Message = "無效的活動";
                        break;

                    case THC_Library.CodeRenderException.INVAILD_CODE:
                        ViewBag.Message = "無效的碼號";
                        break;

                    //return View("wrongPage");
                    case THC_Library.CodeRenderException.REPEAT_SCAN:
                        ViewBag.Message = "已掃描";
                        string[] strSplit = error.ErrorMessage.Split(' ');
                        ViewBag.RepeatDate = strSplit[0];
                        ViewBag.RepeatTime = strSplit[1];
                        ViewBag.DOMAIN     = Models.Domain.REMOTE_ACCESS_DOMAIN;
                        return(View("repeatPage"));

                    case THC_Library.CodeRenderException.SYSTEM_ERROR:
                        break;
                    }
                    return(View("wrongPage"));
                }
                else
                {
                    ViewBag.ACTIVITY = ac;
                    ViewBag.CODE     = code;
                    return(View("index"));
                }
            }
        }
コード例 #3
0
        public ActionResult go(string ac, string code, string tk, string ml, string city, string lat, string lng)
        {
            THC_Library.Error error;
            THC_Library.Reward.RewardConvertor reward;
            string gender, age, Mobil, iid, addr;
            int    iLogKey;
            int    eventKey;

            Models.CodeRender codeRender = new Models.CodeRender();
            bool bWin = codeRender.go(ac, code, tk, ml, city, lat, lng, out eventKey,
                                      out gender, out age, out Mobil, out iid, out addr, out reward,
                                      out iLogKey, out error);

            if (error != null)
            {
                switch (error.Number)
                {
                case THC_Library.CodeRenderException.ACTIVITY_FINISHED:
                    ViewBag.Message     = "活動已結束";
                    ViewBag.MessageInfo = error.ErrorMessage;
                    return(View("outOfPage"));

                case THC_Library.CodeRenderException.ACTIVITY_NOT_START:
                    ViewBag.Message     = "活動尚未開始";
                    ViewBag.MessageInfo = error.ErrorMessage;
                    return(View("outOfPage"));

                case THC_Library.CodeRenderException.INVAILD_ACTIVITY:
                    ViewBag.Message = "無效的活動";
                    break;

                case THC_Library.CodeRenderException.INVAILD_CODE:
                    ViewBag.Message = "無效的碼號";
                    break;

                //return View("wrongPage");
                case THC_Library.CodeRenderException.REPEAT_SCAN:
                    ViewBag.TICKET  = tk;
                    ViewBag.ACC     = ml;
                    ViewBag.EVENT   = eventKey.ToString();
                    ViewBag.CITY    = city;
                    ViewBag.Message = "已掃描";
                    string[] strSplit = error.ErrorMessage.Split(' ');
                    ViewBag.RepeatDate = strSplit[0];
                    ViewBag.RepeatTime = strSplit[1];
                    ViewBag.DOMAIN     = Models.Domain.REMOTE_ACCESS_DOMAIN;
                    return(View("repeatPage"));

                case THC_Library.CodeRenderException.LOGIN_INVALID:
                    ViewBag.Message = "無效的登入";
                    break;

                case THC_Library.CodeRenderException.SYSTEM_ERROR:
                    ViewBag.Message = error.ErrorMessage;     //"系統錯誤";
                    break;
                }
                return(View("wrongPage"));
            }
            else
            {
                if (bWin)
                {
                    ViewBag.ACTIVITY = ac;
                    ViewBag.CODE     = code;
                    ViewBag.TICKET   = tk;
                    ViewBag.ACC      = ml;
                    ViewBag.MOBIL    = Mobil;
                    ViewBag.GENDER   = gender;
                    ViewBag.AGE      = age;
                    ViewBag.IID      = iid;
                    ViewBag.ADDRESS  = addr;
                    ViewBag.LOG_KEY  = iLogKey.ToString();

                    ViewBag.CITY = city;
                    ViewBag.LAT  = lat;
                    ViewBag.LONG = lng;

                    ViewBag.RWD_NAME       = reward.RewardName;
                    ViewBag.RWD_IMG        = reward.RewardImage;
                    ViewBag.RWD_COUPNUMBER = reward.CouponNumber;

                    if (reward.RewardType == THC_Library.Reward.RewardType.ElectricCoupon)
                    {
                        if (reward is THC_Library.Reward.Edenred)
                        {
                            THC_Library.Reward.Edenred edenred = reward as THC_Library.Reward.Edenred;
                            ViewBag.RWD_DATE = edenred.ValidPeriod;
                        }
                        //虛擬獎項
                        return(View("rewardPage"));
                    }
                    else
                    {
                        if (reward is THC_Library.Reward.Phyicalenred)
                        {
                            THC_Library.Reward.Phyicalenred phyenred = reward as THC_Library.Reward.Phyicalenred;
                            ViewBag.RWD_DESC = phyenred.Description;
                        }
                        //實體獎項
                        return(View("rewardPhyicalPage"));
                    }
                }
                else
                {
                    ViewBag.EVENT  = eventKey.ToString();
                    ViewBag.TICKET = tk;
                    ViewBag.ACC    = ml;
                    ViewBag.DOMAIN = Models.Domain.REMOTE_ACCESS_DOMAIN;
                    return(View("tryAgain"));
                }
            }
        }