public bool UpdateActivityStatisticsInfo(ActivityJoinStatisticsInfo Info, DbTransaction DbTran = null)
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append("Update Hishop_ActivityJoinStatistics Set ");
            stringBuilder.Append(" FreeNum = @FreeNum,");
            stringBuilder.Append(" IntegralNum = @IntegralNum,");
            stringBuilder.Append(" IntegralTotal = @IntegralTotal,");
            stringBuilder.Append(" JoinNum = @JoinNum,");
            stringBuilder.Append(" LastJoinDate = @LastJoinDate,");
            stringBuilder.Append(" WinningNum = @WinningNum");
            stringBuilder.Append(" where ActivityId = @ActivityId and UserId = @UserId");
            DbCommand sqlStringCommand = base.database.GetSqlStringCommand(stringBuilder.ToString());

            base.database.AddInParameter(sqlStringCommand, "ActivityId", DbType.Int32, Info.ActivityId);
            base.database.AddInParameter(sqlStringCommand, "UserId", DbType.Int32, Info.UserId);
            base.database.AddInParameter(sqlStringCommand, "FreeNum", DbType.Int32, Info.FreeNum);
            base.database.AddInParameter(sqlStringCommand, "IntegralNum", DbType.Int32, Info.IntegralNum);
            base.database.AddInParameter(sqlStringCommand, "IntegralTotal", DbType.Int32, Info.IntegralTotal);
            base.database.AddInParameter(sqlStringCommand, "JoinNum", DbType.Int32, Info.JoinNum);
            base.database.AddInParameter(sqlStringCommand, "LastJoinDate", DbType.DateTime, Info.LastJoinDate);
            base.database.AddInParameter(sqlStringCommand, "WinningNum", DbType.Int32, Info.WinningNum);
            int num = 0;

            num = ((DbTran != null) ? base.database.ExecuteNonQuery(sqlStringCommand, DbTran) : base.database.ExecuteNonQuery(sqlStringCommand));
            return(num > 0);
        }
        public void GetActivityInfo(HttpContext context)
        {
            int          activityId   = context.Request["ActivityId"].ToInt(0);
            ActivityInfo activityInfo = ActivityHelper.GetActivityInfo(activityId);

            if (activityInfo == null)
            {
                this.ReturnError(context, 1007, "活动不存在!");
            }
            else
            {
                ActivityJsonModel activityJsonModel = new ActivityJsonModel();
                MemberInfo        user = HiContext.Current.User;
                DateTime          dateTime;
                if (user.UserId == 0)
                {
                    activityJsonModel.FreeTimes = activityInfo.FreeTimes;
                }
                else
                {
                    activityJsonModel.FreeTimes = activityInfo.FreeTimes;
                    ActivityJoinStatisticsInfo currUserActivityStatisticsInfo = ActivityHelper.GetCurrUserActivityStatisticsInfo(user.UserId, activityId);
                    if (currUserActivityStatisticsInfo == null)
                    {
                        activityJsonModel.FreeTimes = activityInfo.FreeTimes;
                    }
                    else if (activityInfo.ResetType == 2)
                    {
                        dateTime = DateTime.Now;
                        DateTime date = dateTime.Date;
                        dateTime = currUserActivityStatisticsInfo.LastJoinDate;
                        if (date == dateTime.Date)
                        {
                            activityJsonModel.FreeTimes = activityInfo.FreeTimes - currUserActivityStatisticsInfo.FreeNum;
                        }
                        else
                        {
                            activityJsonModel.FreeTimes = activityInfo.FreeTimes;
                        }
                    }
                    else
                    {
                        Globals.AppendLog("5", "", "", "");
                        activityJsonModel.FreeTimes = activityInfo.FreeTimes - currUserActivityStatisticsInfo.FreeNum;
                    }
                }
                activityJsonModel.ResetType           = activityInfo.ResetType;
                activityJsonModel.ActivityId          = activityInfo.ActivityId;
                activityJsonModel.ActivityName        = activityInfo.ActivityName;
                activityJsonModel.ActivityType        = activityInfo.ActivityType;
                activityJsonModel.ConsumptionIntegral = activityInfo.ConsumptionIntegral;
                activityJsonModel.Description         = activityInfo.Description;
                ActivityJsonModel activityJsonModel2 = activityJsonModel;
                dateTime = activityInfo.EndDate;
                activityJsonModel2.EndDate = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
                ActivityJsonModel activityJsonModel3 = activityJsonModel;
                dateTime = activityInfo.StartDate;
                activityJsonModel3.StartDate = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
                if (DateTime.Now < activityInfo.StartDate)
                {
                    activityJsonModel.Statu = 1;
                }
                else if (DateTime.Now > activityInfo.EndDate)
                {
                    activityJsonModel.Statu = 2;
                }
                else
                {
                    activityJsonModel.Statu = 0;
                }
                activityJsonModel.AwardList = new List <AwardItemInfo>();
                List <ActivityAwardItemInfo> activityItemList = ActivityHelper.GetActivityItemList(activityId);
                foreach (ActivityAwardItemInfo item in activityItemList)
                {
                    AwardItemInfo awardItemInfo = new AwardItemInfo();
                    awardItemInfo.ActivityId = item.ActivityId;
                    awardItemInfo.AwardGrade = this.CapitalLetters(item.AwardGrade);
                    awardItemInfo.AwardId    = item.AwardId;
                    awardItemInfo.PrizeType  = item.PrizeType;
                    if (item.PrizeType == 2)
                    {
                        CouponInfo coupon = CouponHelper.GetCoupon(item.PrizeValue);
                        if (coupon != null)
                        {
                            awardItemInfo.AwardName = coupon.Price.F2ToString("f2") + "元";
                        }
                        else
                        {
                            awardItemInfo.AwardName = "";
                        }
                        awardItemInfo.AwardPic = "";
                    }
                    else if (item.PrizeType == 3)
                    {
                        GiftInfo giftDetails = GiftHelper.GetGiftDetails(item.PrizeValue);
                        if (giftDetails != null)
                        {
                            awardItemInfo.AwardName = giftDetails.Name;
                            awardItemInfo.AwardPic  = giftDetails.ThumbnailUrl60;
                        }
                        else
                        {
                            awardItemInfo.AwardName = "礼品";
                            awardItemInfo.AwardPic  = "";
                        }
                    }
                    else
                    {
                        awardItemInfo.AwardPic  = "";
                        awardItemInfo.AwardName = item.PrizeValue.ToString();
                    }
                    activityJsonModel.AwardList.Add(awardItemInfo);
                }
                string s = JsonConvert.SerializeObject(new
                {
                    Result = activityJsonModel
                });
                context.Response.Write(s);
                context.Response.End();
            }
        }
        public void ActivityDraw(HttpContext context)
        {
            int        activityId = context.Request["ActivityId"].ToInt(0);
            MemberInfo user       = HiContext.Current.User;

            if (user.UserId == 0)
            {
                this.ReturnError(context, 1001, "请先登入");
            }
            else
            {
                ActivityInfo activityInfo = ActivityHelper.GetActivityInfo(activityId);
                if (activityInfo == null)
                {
                    this.ReturnError(context, 1007, "活动不存在!");
                }
                else if (DateTime.Now < activityInfo.StartDate)
                {
                    this.ReturnError(context, 1002, "未开始");
                }
                else if (DateTime.Now > activityInfo.EndDate)
                {
                    this.ReturnError(context, 1003, "已结束");
                }
                else
                {
                    bool flag = false;
                    ActivityJoinStatisticsInfo currUserActivityStatisticsInfo = ActivityHelper.GetCurrUserActivityStatisticsInfo(user.UserId, activityInfo.ActivityId);
                    if (currUserActivityStatisticsInfo != null)
                    {
                        if (activityInfo.ResetType == 2)
                        {
                            DateTime lastJoinDate = currUserActivityStatisticsInfo.LastJoinDate;
                            if (DateTime.Now.Date == lastJoinDate.Date)
                            {
                                if (currUserActivityStatisticsInfo.FreeNum < activityInfo.FreeTimes)
                                {
                                    flag = true;
                                }
                            }
                            else
                            {
                                flag = true;
                            }
                        }
                        else if (currUserActivityStatisticsInfo.FreeNum < activityInfo.FreeTimes)
                        {
                            flag = true;
                        }
                    }
                    else if (activityInfo.FreeTimes > 0)
                    {
                        flag = true;
                    }
                    if (!flag && user.Points < activityInfo.ConsumptionIntegral)
                    {
                        this.ReturnError(context, 1006, "积分不足");
                    }
                    else
                    {
                        List <ActivityAwardItemInfo> activityItemList = ActivityHelper.GetActivityItemList(activityId);
                        List <double> list = new List <double>();
                        decimal       num  = 100m;
                        foreach (ActivityAwardItemInfo item in activityItemList)
                        {
                            num -= item.HitRate;
                            list.Add((double)item.HitRate / 100.0);
                        }
                        if (num > decimal.Zero)
                        {
                            list.Add((double)num / 100.0);
                        }
                        AliasMethod aliasMethod = new AliasMethod(list);
                        int         num2        = aliasMethod.next();
                        int         num3        = 1;
                        string      empty       = string.Empty;
                        int         awardGrade  = 0;
                        if (num2 < activityItemList.Count)
                        {
                            awardGrade = activityItemList[num2].AwardGrade;
                        }
                        bool flag2 = ActivityHelper.ManageWinningResult(user.UserId, activityInfo, awardGrade, ref num3);
                        empty = ((!flag2) ? ("{\"Code\":\"" + 1004 + "\",\"Msg\":\"未中奖\",\"AwardGrade\":\"0\",\"FreeTime\":\"" + num3 + "\",\"Points\":\"" + user.Points + "\"}") : ("{\"Code\":\"" + 1005 + "\",\"Msg\":\"恭喜你中奖了\",\"AwardGrade\":\"" + activityItemList[num2].AwardGrade + "\",\"FreeTime\":\"" + num3 + "\",\"Points\":\"" + user.Points + "\"}"));
                        if (!flag || (flag2 && activityItemList[num2].PrizeType == 1))
                        {
                            Users.ClearUserCache(user.UserId, "");
                        }
                        context.Response.ContentType = "application/json";
                        context.Response.Write(empty);
                        context.Response.End();
                    }
                }
            }
        }
        protected override void AttachChildControls()
        {
            if (!int.TryParse(this.Page.Request.QueryString["activityid"], out this.activityid))
            {
                base.GotoResourceNotFound("");
            }
            MemberInfo user = HiContext.Current.User;

            if (user.UserId == 0)
            {
                HttpContext.Current.Response.Redirect($"login.aspx?ReturnUrl=SmashEgg.aspx?activityid={this.activityid}");
            }
            else
            {
                this.bgimg           = (HtmlImage)this.FindControl("bgimg");
                this.litActivityDesc = (Literal)this.FindControl("litActivityDesc");
                this.litPrizeNames   = (Common_PrizeNames)this.FindControl("litPrizeNames");
                this.litPrizeUsers   = (Common_PrizeUsers)this.FindControl("litPrizeUsers");
                this.litStartDate    = (Literal)this.FindControl("litStartDate");
                this.litEndDate      = (Literal)this.FindControl("litEndDate");
                this.hidIsUsePoint   = (HtmlInputHidden)this.FindControl("hidIsUsePoint");
                this.hidFreeTimes    = (HtmlInputHidden)this.FindControl("hidFreeTimes");
                PageTitle.AddSiteNameTitle("砸金蛋");
                this.hdTitle  = (HtmlInputHidden)this.FindControl("hdTitle");
                this.hdAppId  = (HtmlInputHidden)this.FindControl("hdAppId");
                this.hdDesc   = (HtmlInputHidden)this.FindControl("hdDesc");
                this.hdImgUrl = (HtmlInputHidden)this.FindControl("hdImgUrl");
                this.hdLink   = (HtmlInputHidden)this.FindControl("hdLink");
                ActivityInfo activityInfo = ActivityHelper.GetActivityInfo(this.activityid);
                if (activityInfo == null || activityInfo.ActivityType != 3)
                {
                    base.GotoResourceNotFound("活动不存在");
                }
                else
                {
                    Literal  literal  = this.litStartDate;
                    DateTime dateTime = activityInfo.StartDate;
                    literal.Text = dateTime.ToString("yyyy年MM月dd日 HH:mm:ss");
                    Literal literal2 = this.litEndDate;
                    dateTime                      = activityInfo.EndDate;
                    literal2.Text                 = dateTime.ToString("yyyy年MM月dd日 HH:mm:ss");
                    this.litActivityDesc.Text     = activityInfo.Description;
                    this.litPrizeNames.ActivityId = this.activityid;
                    this.litPrizeUsers.ActivityId = this.activityid;
                    if (activityInfo.StartDate < DateTime.Now && DateTime.Now < activityInfo.EndDate)
                    {
                        string arg = "您一共有";
                        int    num = activityInfo.FreeTimes;
                        ActivityJoinStatisticsInfo currUserActivityStatisticsInfo = ActivityHelper.GetCurrUserActivityStatisticsInfo(user.UserId, this.activityid);
                        if (currUserActivityStatisticsInfo == null)
                        {
                            num = activityInfo.FreeTimes;
                        }
                        else if (activityInfo.ResetType == 2)
                        {
                            arg      = "您每天有";
                            dateTime = DateTime.Now;
                            DateTime date = dateTime.Date;
                            dateTime = currUserActivityStatisticsInfo.LastJoinDate;
                            num      = ((!(date == dateTime.Date)) ? activityInfo.FreeTimes : (activityInfo.FreeTimes - currUserActivityStatisticsInfo.FreeNum));
                        }
                        else
                        {
                            num = activityInfo.FreeTimes - currUserActivityStatisticsInfo.FreeNum;
                        }
                        this.hidFreeTimes.Value = num.ToString();
                        if (num <= 0)
                        {
                            this.hidIsUsePoint.Value = "1";
                            Literal literal3 = this.litActivityDesc;
                            literal3.Text += $"{arg}{activityInfo.FreeTimes}次免费参与机会,目前还剩0次,如要继续抽奖,则会消耗{activityInfo.ConsumptionIntegral}积分一次";
                        }
                        else
                        {
                            this.hidIsUsePoint.Value = "0";
                            Literal literal4 = this.litActivityDesc;
                            literal4.Text += $"{arg}{activityInfo.FreeTimes}次免费参与机会,目前还剩{num}次。";
                        }
                    }
                    else
                    {
                        this.ShowMessage("活动还未开始或者已经结束!", false, "", 1);
                    }
                    if (base.ClientType == ClientType.VShop)
                    {
                        SiteSettings masterSettings = SettingsManager.GetMasterSettings();
                        string       local          = (!string.IsNullOrWhiteSpace(activityInfo.SharePic)) ? activityInfo.SharePic : Globals.FullPath("Templates/common/images/process/egg1.png");
                        this.hdImgUrl.Value = Globals.FullPath(local);
                        this.hdTitle.Value  = activityInfo.ActivityName;
                        this.hdDesc.Value   = activityInfo.ShareDetail;
                        this.hdLink.Value   = Globals.FullPath($"/vshop/SmashEgg.aspx?ActivityId={this.activityid}");
                        this.hdAppId.Value  = masterSettings.WeixinAppId;
                    }
                }
            }
        }
        protected override void AttachChildControls()
        {
            if (!int.TryParse(this.Page.Request.QueryString["activityid"], out this.activityid))
            {
                base.GotoResourceNotFound("");
            }
            MemberInfo user = HiContext.Current.User;

            if (user.UserId == 0)
            {
                this.Page.ClientScript.RegisterStartupScript(base.GetType(), "myscript", "<script>$(function(){alert_h(\"请先登入后抽奖!\",function(){ToLogin();});});</script>");
            }
            else
            {
                this.bgimg           = (HtmlImage)this.FindControl("bgimg");
                this.litActivityDesc = (Literal)this.FindControl("litActivityDesc");
                this.litPrizeNames   = (Common_PrizeNames)this.FindControl("litPrizeNames");
                this.litPrizeUsers   = (Common_PrizeUsers)this.FindControl("litPrizeUsers");
                this.litStartDate    = (Literal)this.FindControl("litStartDate");
                this.litEndDate      = (Literal)this.FindControl("litEndDate");
                this.hidIsUsePoint   = (HtmlInputHidden)this.FindControl("hidIsUsePoint");
                this.hidFreeTimes    = (HtmlInputHidden)this.FindControl("hidFreeTimes");
                PageTitle.AddSiteNameTitle("砸金蛋");
                ActivityInfo activityInfo = ActivityHelper.GetActivityInfo(this.activityid);
                if (activityInfo == null || activityInfo.ActivityType != 3)
                {
                    base.GotoResourceNotFound("活动不存在");
                }
                else
                {
                    Literal  literal  = this.litStartDate;
                    DateTime dateTime = activityInfo.StartDate;
                    literal.Text = dateTime.ToString("yyyy年MM月dd日 HH:mm:ss");
                    Literal literal2 = this.litEndDate;
                    dateTime                      = activityInfo.EndDate;
                    literal2.Text                 = dateTime.ToString("yyyy年MM月dd日 HH:mm:ss");
                    this.litActivityDesc.Text     = activityInfo.Description;
                    this.litPrizeNames.ActivityId = this.activityid;
                    this.litPrizeUsers.ActivityId = this.activityid;
                    if (activityInfo.StartDate < DateTime.Now && DateTime.Now < activityInfo.EndDate)
                    {
                        string arg = "您一共有";
                        int    num = activityInfo.FreeTimes;
                        ActivityJoinStatisticsInfo currUserActivityStatisticsInfo = ActivityHelper.GetCurrUserActivityStatisticsInfo(user.UserId, this.activityid);
                        if (currUserActivityStatisticsInfo == null)
                        {
                            num = activityInfo.FreeTimes;
                        }
                        else if (activityInfo.ResetType == 2)
                        {
                            arg      = "您每天有";
                            dateTime = DateTime.Now;
                            DateTime date = dateTime.Date;
                            dateTime = currUserActivityStatisticsInfo.LastJoinDate;
                            num      = ((!(date == dateTime.Date)) ? activityInfo.FreeTimes : (activityInfo.FreeTimes - currUserActivityStatisticsInfo.FreeNum));
                        }
                        else
                        {
                            num = activityInfo.FreeTimes - currUserActivityStatisticsInfo.FreeNum;
                        }
                        this.hidFreeTimes.Value = num.ToString();
                        if (num <= 0)
                        {
                            this.hidIsUsePoint.Value = "1";
                            Literal literal3 = this.litActivityDesc;
                            literal3.Text += $"{arg}{activityInfo.FreeTimes}次免费参与机会,目前还剩0次,如要继续抽奖,则会消耗{activityInfo.ConsumptionIntegral}积分一次";
                        }
                        else
                        {
                            this.hidIsUsePoint.Value = "0";
                            Literal literal4 = this.litActivityDesc;
                            literal4.Text += $"{arg}{activityInfo.FreeTimes}次免费参与机会,目前还剩{num}次。";
                        }
                    }
                    else
                    {
                        this.ShowMessage("活动还未开始或者已经结束!", false, "", 1);
                    }
                }
            }
        }
 public static bool ManageWinningResult(int UserId, ActivityInfo Info, int AwardGrade, ref int FreeTimes)
 {
     lock (ActivityHelper.oWinning)
     {
         Database    database    = DatabaseFactory.CreateDatabase();
         ActivityDao activityDao = new ActivityDao();
         using (DbConnection dbConnection = database.CreateConnection())
         {
             dbConnection.Open();
             DbTransaction dbTransaction = dbConnection.BeginTransaction();
             try
             {
                 bool flag  = false;
                 bool flag2 = false;
                 ActivityJoinStatisticsInfo activityJoinStatisticsInfo = activityDao.GetCurrUserActivityStatisticsInfo(UserId, Info.ActivityId, dbTransaction);
                 MemberInfo memberInfo = new MemberDao().Get <MemberInfo>(UserId);
                 if (activityJoinStatisticsInfo != null)
                 {
                     if (Info.ResetType == 2)
                     {
                         DateTime lastJoinDate = activityJoinStatisticsInfo.LastJoinDate;
                         if (DateTime.Now.Date == lastJoinDate.Date)
                         {
                             if (activityJoinStatisticsInfo.FreeNum < Info.FreeTimes)
                             {
                                 flag = true;
                                 activityJoinStatisticsInfo.FreeNum++;
                                 FreeTimes = Info.FreeTimes - activityJoinStatisticsInfo.FreeNum;
                             }
                             else
                             {
                                 activityJoinStatisticsInfo.IntegralTotal += Info.ConsumptionIntegral;
                                 activityJoinStatisticsInfo.IntegralNum++;
                                 FreeTimes = 0;
                             }
                         }
                         else
                         {
                             flag = true;
                             activityJoinStatisticsInfo.FreeNum = 1;
                             FreeTimes = Info.FreeTimes - 1;
                         }
                     }
                     else if (activityJoinStatisticsInfo.FreeNum < Info.FreeTimes)
                     {
                         flag = true;
                         activityJoinStatisticsInfo.FreeNum++;
                         FreeTimes = Info.FreeTimes - activityJoinStatisticsInfo.FreeNum;
                     }
                     else
                     {
                         activityJoinStatisticsInfo.IntegralTotal += Info.ConsumptionIntegral;
                         activityJoinStatisticsInfo.IntegralNum++;
                         FreeTimes = 0;
                     }
                 }
                 else
                 {
                     flag2 = true;
                     activityJoinStatisticsInfo            = new ActivityJoinStatisticsInfo();
                     activityJoinStatisticsInfo.ActivityId = Info.ActivityId;
                     activityJoinStatisticsInfo.UserId     = UserId;
                     if (Info.FreeTimes > 0)
                     {
                         flag = true;
                         activityJoinStatisticsInfo.FreeNum       = 1;
                         activityJoinStatisticsInfo.IntegralTotal = 0;
                         activityJoinStatisticsInfo.IntegralNum   = 0;
                         FreeTimes = Info.FreeTimes - 1;
                     }
                     else
                     {
                         activityJoinStatisticsInfo.IntegralTotal = Info.ConsumptionIntegral;
                         activityJoinStatisticsInfo.IntegralNum   = 1;
                         activityJoinStatisticsInfo.FreeNum       = 0;
                         FreeTimes = 0;
                     }
                 }
                 activityJoinStatisticsInfo.JoinNum++;
                 activityJoinStatisticsInfo.LastJoinDate = DateTime.Now;
                 bool                  flag3                 = false;
                 CouponInfo            couponInfo            = null;
                 GiftInfo              giftInfo              = null;
                 ActivityAwardItemInfo activityAwardItemInfo = null;
                 if (AwardGrade > 0)
                 {
                     activityAwardItemInfo = activityDao.GetActivityItem(Info.ActivityId, AwardGrade, dbTransaction);
                     if (activityAwardItemInfo.WinningNum < activityAwardItemInfo.AwardNum)
                     {
                         if (activityAwardItemInfo.PrizeType == 2)
                         {
                             couponInfo = new CouponDao().Get <CouponInfo>(activityAwardItemInfo.PrizeValue);
                             if (couponInfo != null)
                             {
                                 int couponSurplus = new CouponDao().GetCouponSurplus(activityAwardItemInfo.PrizeValue);
                                 if (couponSurplus > 0 && couponInfo.ClosingTime > DateTime.Now)
                                 {
                                     flag3 = true;
                                 }
                             }
                         }
                         else if (activityAwardItemInfo.PrizeType == 3)
                         {
                             giftInfo = new GiftDao().Get <GiftInfo>(activityAwardItemInfo.PrizeValue);
                             if (giftInfo != null)
                             {
                                 flag3 = true;
                             }
                         }
                         else
                         {
                             flag3 = true;
                         }
                     }
                 }
                 else
                 {
                     flag3 = false;
                 }
                 if (!flag)
                 {
                     PointDetailInfo pointDetailInfo = new PointDetailInfo();
                     pointDetailInfo.Increased    = 0;
                     pointDetailInfo.OrderId      = "";
                     pointDetailInfo.Points       = memberInfo.Points - Info.ConsumptionIntegral;
                     pointDetailInfo.Reduced      = Info.ConsumptionIntegral;
                     pointDetailInfo.Remark       = "抽奖消耗积分";
                     pointDetailInfo.SignInSource = 0;
                     pointDetailInfo.TradeDate    = DateTime.Now;
                     if (Info.ActivityType == 1)
                     {
                         pointDetailInfo.TradeType = PointTradeType.JoinRotaryTable;
                     }
                     else if (Info.ActivityType == 3)
                     {
                         pointDetailInfo.TradeType = PointTradeType.JoinSmashingGoldenEgg;
                     }
                     else
                     {
                         pointDetailInfo.TradeType = PointTradeType.JoinScratchCard;
                     }
                     pointDetailInfo.UserId = UserId;
                     if (new PointDetailDao().Add(pointDetailInfo, dbTransaction) <= 0)
                     {
                         dbTransaction.Rollback();
                         return(false);
                     }
                 }
                 if (!flag3)
                 {
                     if (flag2)
                     {
                         if (activityDao.Add(activityJoinStatisticsInfo, dbTransaction) <= 0)
                         {
                             dbTransaction.Rollback();
                         }
                     }
                     else if (!activityDao.UpdateActivityStatisticsInfo(activityJoinStatisticsInfo, dbTransaction))
                     {
                         dbTransaction.Rollback();
                     }
                     dbTransaction.Commit();
                     return(false);
                 }
                 activityJoinStatisticsInfo.WinningNum++;
                 if (flag2)
                 {
                     if (activityDao.Add(activityJoinStatisticsInfo, dbTransaction) <= 0)
                     {
                         dbTransaction.Rollback();
                     }
                 }
                 else if (!activityDao.UpdateActivityStatisticsInfo(activityJoinStatisticsInfo, dbTransaction))
                 {
                     dbTransaction.Rollback();
                 }
                 activityAwardItemInfo.WinningNum++;
                 if (!activityDao.Update(activityAwardItemInfo, dbTransaction))
                 {
                     dbTransaction.Rollback();
                     return(false);
                 }
                 UserAwardRecordsInfo userAwardRecordsInfo = new UserAwardRecordsInfo();
                 userAwardRecordsInfo.ActivityId = Info.ActivityId;
                 if (activityAwardItemInfo.PrizeType == 2)
                 {
                     userAwardRecordsInfo.AwardName = couponInfo.CouponName;
                     userAwardRecordsInfo.AwardDate = DateTime.Now;
                     userAwardRecordsInfo.Status    = 2;
                     CouponItemInfo couponItemInfo = new CouponItemInfo();
                     couponItemInfo.UserId             = UserId;
                     couponItemInfo.UserName           = memberInfo.UserName;
                     couponItemInfo.CanUseProducts     = couponInfo.CanUseProducts;
                     couponItemInfo.ClosingTime        = couponInfo.ClosingTime;
                     couponItemInfo.CouponId           = couponInfo.CouponId;
                     couponItemInfo.CouponName         = couponInfo.CouponName;
                     couponItemInfo.OrderUseLimit      = couponInfo.OrderUseLimit;
                     couponItemInfo.Price              = couponInfo.Price;
                     couponItemInfo.StartTime          = couponInfo.StartTime;
                     couponItemInfo.UseWithGroup       = couponInfo.UseWithGroup;
                     couponItemInfo.UseWithPanicBuying = couponInfo.UseWithPanicBuying;
                     couponItemInfo.UseWithFireGroup   = couponInfo.UseWithFireGroup;
                     couponItemInfo.GetDate            = DateTime.Now;
                     couponItemInfo.ClaimCode          = Guid.NewGuid().ToString();
                     if (new CouponDao().Add(couponItemInfo, dbTransaction) <= 0)
                     {
                         dbTransaction.Rollback();
                         return(false);
                     }
                 }
                 else if (activityAwardItemInfo.PrizeType == 3)
                 {
                     userAwardRecordsInfo.AwardDate = null;
                     userAwardRecordsInfo.AwardName = giftInfo.Name;
                     userAwardRecordsInfo.AwardPic  = giftInfo.ThumbnailUrl160;
                     userAwardRecordsInfo.Status    = 1;
                 }
                 else
                 {
                     userAwardRecordsInfo.AwardName = activityAwardItemInfo.PrizeValue + "积分";
                     userAwardRecordsInfo.AwardDate = DateTime.Now;
                     userAwardRecordsInfo.Status    = 2;
                     PointDetailInfo pointDetailInfo2 = new PointDetailInfo();
                     pointDetailInfo2.Increased = activityAwardItemInfo.PrizeValue;
                     pointDetailInfo2.OrderId   = "";
                     if (flag)
                     {
                         pointDetailInfo2.Points = memberInfo.Points + activityAwardItemInfo.PrizeValue;
                     }
                     else
                     {
                         pointDetailInfo2.Points = memberInfo.Points - Info.ConsumptionIntegral + activityAwardItemInfo.PrizeValue;
                     }
                     pointDetailInfo2.Reduced      = 0;
                     pointDetailInfo2.Remark       = "抽奖获得积分";
                     pointDetailInfo2.SignInSource = 0;
                     pointDetailInfo2.TradeDate    = DateTime.Now;
                     if (Info.ActivityType == 1)
                     {
                         pointDetailInfo2.TradeType = PointTradeType.JoinRotaryTable;
                     }
                     else if (Info.ActivityType == 3)
                     {
                         pointDetailInfo2.TradeType = PointTradeType.JoinSmashingGoldenEgg;
                     }
                     else
                     {
                         pointDetailInfo2.TradeType = PointTradeType.JoinScratchCard;
                     }
                     pointDetailInfo2.UserId = UserId;
                     if (new PointDetailDao().Add(pointDetailInfo2, dbTransaction) <= 0)
                     {
                         dbTransaction.Rollback();
                         return(false);
                     }
                 }
                 userAwardRecordsInfo.AwardGrade = AwardGrade;
                 userAwardRecordsInfo.AwardId    = activityAwardItemInfo.AwardId;
                 userAwardRecordsInfo.CreateDate = DateTime.Now;
                 userAwardRecordsInfo.PrizeType  = activityAwardItemInfo.PrizeType;
                 userAwardRecordsInfo.PrizeValue = activityAwardItemInfo.PrizeValue;
                 userAwardRecordsInfo.UserId     = UserId;
                 if (activityDao.Add(userAwardRecordsInfo, dbTransaction) <= 0)
                 {
                     dbTransaction.Rollback();
                     return(false);
                 }
                 dbTransaction.Commit();
                 return(true);
             }
             catch (Exception ex)
             {
                 dbTransaction.Rollback();
                 Globals.WriteLog("ActivityLog.txt", "Methed:ManageWinningResult , Id:" + Info.ActivityId + " , Msg:" + ex.Message);
                 return(false);
             }
             finally
             {
                 dbConnection.Close();
             }
         }
     }
 }