Example #1
0
        /// <summary>
        ///     添加投注
        /// </summary>
        /// <param name="prizebetting">奖单信息</param>
        /// <returns>业务操作结果</returns>
        public OperationResult Add(PrizeBettingView prizebetting)
        {
            //PublicHelper.CheckArgument(prizebetting, "prizebetting");

            PrizeBetting pmodel = new PrizeBetting
            {
                ExchangeCode = prizebetting.ExchangeCode,
                Phone        = prizebetting.PrizeOrderDetailView.MemberView.Tel,
                Address      = prizebetting.PrizeOrderDetailView.MemberView.Address,
                PrizeOrder   = PrizeOrderContract.PrizeOrders.SingleOrDefault(m => m.Id == prizebetting.PrizeOrderDetailView.PrizeOrderView.Id),
                Member       = AccountContract.Members.SingleOrDefault(m => m.Id == prizebetting.UserId.Value),
                UserAnswer   = prizebetting.UserAnswer
            };

            try
            {
                return(PrizeBettingContract.Add(pmodel));
            }
            catch (Exception ex)
            {
                return(new OperationResult(OperationResultType.Error, ex.Message));
            }
        }
Example #2
0
        public ActionResult PrizeBetting(Guid poId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                string returnUrl = string.IsNullOrEmpty(Request.QueryString["returnUrl"]) ? "/Vip/Business/poId=" + poId.ToString() : Request.QueryString["returnUrl"];
                ViewBag.ReturnUrl = returnUrl;
                //int rtvalue = int.Parse(Request.QueryString["RevealType"]);
                //ViewBag.RevealType = rtvalue;
                ViewBag.CurrentUserId = this.UserId ?? 0;
                OperationResult result = PrizeOrderSiteContract.GetPrizeOrderDetail(poId);
                if (result.ResultType == OperationResultType.Success)
                {
                    PrizeBettingView model = new PrizeBettingView()
                    {
                        PrizeOrderDetailView = (PrizeOrderDetailView)result.AppendData,
                        UserId = this.UserId ?? 0
                    };

                    ViewBag.RevealType = model.PrizeOrderDetailView != null?model.PrizeOrderDetailView.PrizeOrderView.RevealType.ToInt().ToString() : string.Empty;

                    //if (RevealType.Answer.ToInt() == rtvalue)
                    //{
                    //    //InitAnswerOptions(model);
                    //}
                    return(View(model));
                }
                else
                {
                    return(View(new PrizeBettingView()));
                }
            }
        }
Example #3
0
        public ActionResult PrizeBetting(PrizeBettingView model)
        {
            ViewBag.IsPostBack = true;
            int rtype = model.PrizeOrderDetailView.PrizeOrderView.RevealType.ToInt();

            ViewBag.RevealType    = rtype.ToString();
            ViewBag.CurrentUserId = this.UserId ?? 0;
            string returnUrl = Request.Form["returnUrl"];

            ViewBag.ReturnUrl = returnUrl;

            if (ModelState.IsValid)
            {
                //验证码验证通过
            }
            else
            {
                //验证码验证失败
                //ModelState.AddModelError("", e.Message);
                ViewBag.Message = "验证码输入不正确";
                return(View(model));
            }

            if ((this.UserId ?? 0) == 0)
            {
                //验证码验证失败
                //ModelState.AddModelError("", e.Message);
                ViewBag.Message = "当前登录的用户Id莫名的为空,无法发布奖品,请尝试退出并重新登录。";
                return(View(model));
            }
            else
            {
                model.UserId = this.UserId;
            }

            if (model.UserId.Value == model.PrizeOrderDetailView.MemberView.Id)
            {
                //验证码验证失败
                //ModelState.AddModelError("", e.Message);
                ViewBag.Message = "该奖品是您发起的抽奖,您不能参与自己发起的抽奖。";
                return(View(model));
            }

            //if (string.IsNullOrEmpty(model.PrizeOrderDetailView.MemberView.Tel))
            //{
            //    ViewBag.Message = "领奖电话不能为空";
            //    return View(model);
            //}
            //if (!LotteryDraw.Component.Utility.RegExp.IsMobileNo(model.PrizeOrderDetailView.MemberView.Te))
            //{
            //    ViewBag.Message = "手机号码不合法";
            //    return View(model);
            //}
            //if (string.IsNullOrEmpty(model.PrizeOrderDetailView.MemberView.Address))
            //{
            //    ViewBag.Message = "奖品邮寄地址不能为空";
            //    return View(model);
            //}
            // 竞猜开奖的话需要验证是否选择了答案
            if ((int)RevealType.Answer == rtype)
            {
                if (string.IsNullOrEmpty(model.UserAnswer))
                {
                    ViewBag.Message = "答案必须选择";
                    return(View(model));
                }
            }

            OperationResult result = PrizeBettingSiteContract.Add(model);
            string          msg    = result.Message ?? result.ResultType.ToDescription();

            if (result.ResultType == OperationResultType.Success)
            {
                ViewBag.PostBackIsOK  = true;
                ViewBag.SuccessString = "参与抽奖成功";
                ViewBag.ReturnUrl     = returnUrl;
                return(View(model));
                //TempData["Message"] = "参与抽奖成功。";//<br /><a href='#'>奖池状况<a>";
                //return RedirectToAction("InfoPage");
            }
            //ModelState.AddModelError("", msg);
            ViewBag.Message = msg;
            return(View(model));
        }