Пример #1
0
    /// <summary>
    /// 购买彩票
    /// </summary>
    /// <param name="_User"></param>
    private void Buy(Users _User)
    {
        string HidIsuseID = Shove._Web.Utility.GetRequest("HidIsuseID");
        string HidIsuseEndTime = Shove._Web.Utility.GetRequest("HidIsuseEndTime");
        string playType = Shove._Web.Utility.GetRequest("playType");
        string CoBuy = Shove._Web.Utility.GetRequest("CoBuy");
        string tb_Share = Shove._Web.Utility.GetRequest("tb_Share");
        string tb_BuyShare = Shove._Web.Utility.GetRequest("tb_BuyShare");
        string tb_AssureShare = Shove._Web.Utility.GetRequest("tb_AssureShare");
        string tb_OpenUserList = "";
        string tb_Title = Shove._Web.Utility.GetRequest("tb_Title");
        string tb_Description = Shove._Web.Utility.GetRequest("tb_Description");
        string tbSecrecyLevel = Shove._Web.Utility.GetRequest("SecrecyLevel");
        string tb_LotteryNumber = Shove._Web.Utility.FilteSqlInfusion(Request["tb_LotteryNumber"]);
        string tb_hide_SumMoney = Shove._Web.Utility.GetRequest("tb_hide_SumMoney");
        string tb_hide_AssureMoney = Shove._Web.Utility.GetRequest("tb_hide_AssureMoney");
        string tb_hide_SumNum = Shove._Web.Utility.GetRequest("tb_hide_SumNum");
        string HidLotteryID = Shove._Web.Utility.GetRequest("HidLotteryID");
        string tb_Multiple = Shove._Web.Utility.GetRequest("tb_Multiple");
        string tb_SchemeBonusScale = Shove._Web.Utility.GetRequest("tb_SchemeBonusScale");
        string playTypeID = Shove._Web.Utility.GetRequest("tbPlayTypeID");
        string tb_SumMoney = Shove._Web.Utility.GetRequest("tb_SchemeMoney");
        string bet = Shove._Web.Utility.GetRequest("bet");

        int Price = 2;

        if (tb_Multiple == "")
        {
            tb_Multiple = "1";
        }

        double SumMoney = 0;
        int Share = 0;
        int BuyShare = 0;
        double AssureMoney = 0;
        int Multiple = 0;
        int SumNum = 0;
        short SecrecyLevel = 0;
        int PlayTypeID = 0;
        int LotteryID = 0;
        long IsuseID = 0;
        double SchemeBonusScale = 0;

        if (string.IsNullOrEmpty(tb_Share))
        {
            tb_Share = Shove._Web.Utility.GetRequest("tb_MinSchemeMoney");
        }

        try
        {
            SumMoney = double.Parse(tb_hide_SumMoney);
            Share = int.Parse(tb_Share);
            BuyShare = int.Parse(tb_BuyShare);
            AssureMoney = double.Parse(tb_hide_AssureMoney);
            Multiple = int.Parse(tb_Multiple);
            SumNum = int.Parse(tb_hide_SumNum);
            SecrecyLevel = short.Parse(tbSecrecyLevel);
            PlayTypeID = int.Parse(playTypeID);
            LotteryID = int.Parse(HidLotteryID);
            IsuseID = long.Parse(HidIsuseID);
            SchemeBonusScale = double.Parse(tb_SchemeBonusScale);
        }
        catch
        {
            Shove._Web.JavaScript.Alert(this.Page, "输入有错误,请仔细检查。");

            return;
        }

        if (playTypeID != playType)
        {
            if (bet != "Bet01")
            {
                SumMoney = Shove._Convert.StrToDouble(Shove._Web.Utility.GetRequest("tb_MinSchemeMoney"), 0);
            }
            else
            {
                SumMoney = double.Parse(tb_SumMoney);
            }
        }

        if ((SumMoney <= 0) || (SumNum < 1 && playTypeID == playType))
        {
            Shove._Web.JavaScript.Alert(this.Page, "输入有错误,请仔细检查。");

            return;
        }

        if (AssureMoney < 0)
        {
            Shove._Web.JavaScript.Alert(this.Page, "输入有错误,请仔细检查。");

            return;
        }

        if (Share < 1)
        {
            Shove._Web.JavaScript.Alert(this.Page, "输入有错误,请仔细检查。");

            return;
        }

        if ((BuyShare == Share) && (AssureMoney == 0))
        {
            Share = 1;
            BuyShare = 1;
        }

        if ((SumMoney / Share) < 1)
        {
            Shove._Web.JavaScript.Alert(this.Page, "每份金额最低不能少于 1 元。");

            return;
        }

        double BuyMoney = BuyShare * (SumMoney / Share) + AssureMoney;

        if (BuyMoney > _User.Balance)
        {
            SaveDataForAliBuy();

            return;
        }

        if (BuyMoney > PF.SchemeMaxBettingMoney)
        {
            Shove._Web.JavaScript.Alert(this.Page, "投注金额不能大于" + PF.SchemeMaxBettingMoney.ToString() + ",谢谢。");

            return;
        }

        if (Multiple > 999)
        {
            Shove._Web.JavaScript.Alert(this.Page, "投注倍数不能大于 999 倍,谢谢。");

            return;
        }
        //佣金比例的计算

        if (!(SchemeBonusScale >= 0 || SchemeBonusScale <= 10))
        {
            Shove._Web.JavaScript.Alert(this.Page, "佣金比例只能在0~10之间");

            return;
        }

        if (SchemeBonusScale.ToString().IndexOf("-") > -1 || SchemeBonusScale.ToString().IndexOf(".") > -1)
        {
            Shove._Web.JavaScript.Alert(this.Page, "佣金比例输入有误");

            return;
        }

        SchemeBonusScale = SchemeBonusScale / 100;

        string LotteryNumber = tb_LotteryNumber;

        if (playTypeID == playType)
        {
            if (LotteryNumber[LotteryNumber.Length - 1] == '\n')
            {
                LotteryNumber = LotteryNumber.Substring(0, LotteryNumber.Length - 1);
            }

            #region 对彩票号码进行分析,判断注数

            SLS.Lottery slsLottery = new SLS.Lottery();
            string[] t_lotterys = SplitLotteryNumber(LotteryNumber);

            if ((t_lotterys == null) || (t_lotterys.Length < 1))
            {
                Shove._Web.JavaScript.Alert(this.Page, "选号发生异常,请重新选择号码投注,谢谢。(-694)");

                return;
            }

            int ValidNum = 0;

            foreach (string str in t_lotterys)
            {
                string Number = slsLottery[LotteryID].AnalyseScheme(str, PlayTypeID);

                if (string.IsNullOrEmpty(Number))
                {
                    continue;
                }

                string[] str_s = Number.Split('|');

                if (str_s == null || str_s.Length < 1)
                {
                    continue;
                }

                ValidNum += Shove._Convert.StrToInt(str_s[str_s.Length - 1], 0);
            }

            if (ValidNum != SumNum)
            {
                Shove._Web.JavaScript.Alert(this.Page, "选号发生异常,请重新选择号码投注,谢谢。");

                return;
            }

            #endregion
        }
                else
        {
            LotteryNumber = "";
        }

        string ReturnDescription = "";

        if (DateTime.Now >= Shove._Convert.StrToDateTime(HidIsuseEndTime.Replace("/", "-"), DateTime.Now.AddDays(-1).ToString()))
        {
            Shove._Web.JavaScript.Alert(this.Page, "本期投注已截止,谢谢。");

            return;
        }

        if (playType == playTypeID && Price * SumNum * Multiple != SumMoney)
        {
            Shove._Web.JavaScript.Alert(this.Page, "输入有错误,请仔细检查。");

            return;
        }

        long SchemeID = _User.InitiateScheme(IsuseID, PlayTypeID, tb_Title.Trim() == "" ? "(无标题)" : tb_Title.Trim(), tb_Description.Trim(), LotteryNumber, "", Multiple, SumMoney, AssureMoney, Share, BuyShare, tb_OpenUserList.Trim(), short.Parse(SecrecyLevel.ToString()), SchemeBonusScale, ref ReturnDescription);
        if (SchemeID < 0)
        {
            PF.GoError(ErrorNumber.Unknow, ReturnDescription, this.GetType().FullName + "(-755)");

            return;
        }

        if (playType != playTypeID)
        {
            double MinMoney = 0;
            double MaxMoney = 0;

            if (bet == "Bet01")
            {
                MinMoney = SumMoney;
                MaxMoney = SumMoney;
            }
            else
            {
                MinMoney = Shove._Convert.StrToDouble(Shove._Web.Utility.GetRequest("tb_MinSchemeMoney"), 0);
                MaxMoney = Shove._Convert.StrToDouble(Shove._Web.Utility.GetRequest("tb_MaxSchemeMoney"), 0);
            }

            if (MaxMoney < MinMoney)
            {
                Shove._Web.JavaScript.Alert(this.Page, "您输入的最大方案金额不能小于最小方案金额!");

                return;
            }

            if (MaxMoney > MinMoney * 1.4)
            {
                Shove._Web.JavaScript.Alert(this.Page, "您输入的最大方案金额大于最小方案金额的 1.4 倍!");

                return;
            }

            DAL.Tables.T_PrepareBet t_PrepareBet = new DAL.Tables.T_PrepareBet();

            t_PrepareBet.SchemeID.Value = SchemeID;
            t_PrepareBet.MinMoney.Value = MinMoney;
            t_PrepareBet.MaxMoney.Value = MaxMoney;
            t_PrepareBet.Insert();
        }

        Shove._Web.Cache.ClearCache("Home_Room_CoBuy_BindDataForType" + IsuseID.ToString());
        Shove._Web.Cache.ClearCache("Home_Room_SchemeAll_BindData" + IsuseID.ToString());

        if (SumMoney > 50 && Share > 1)
        {
            Shove._Web.Cache.ClearCache("Home_Room_JoinAllBuy_BindData");
        }

        Response.Redirect("../Home/Room/UserBuySuccess.aspx?LotteryID=" + LotteryID.ToString() + "&&Money=" + BuyMoney.ToString() + "&SchemeID=" + SchemeID.ToString() + "");

        return;
    }
Пример #2
0
    private void BindData()
    {
        DataTable dt = new DAL.Views.V_SchemeSchedulesWithQuashed().Open("", "[id] = " + Shove._Web.Utility.FilteSqlInfusion(tbSchemeID.Text), "");

        if ((dt == null) || (dt.Rows.Count < 1))
        {
            PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试(-141)", this.GetType().BaseType.FullName);

            return;
        }

        DataRow dr = dt.Rows[0];

        long InitiateUserID = Shove._Convert.StrToLong(dr["InitiateUserID"].ToString(), 0);

        // 过滤竞彩足、篮球
        int _LotteryID = Shove._Convert.StrToInt(dr["LotteryID"].ToString(), 0);

        if (_LotteryID == 72 || _LotteryID == 73 || (_User !=  null && InitiateUserID == _User.ID))
        {
            this.btn_Single.Visible = false;
            this.btn_All.Visible = false;
        }

        hfID.Value = InitiateUserID.ToString();
        LotteryName = dr["LotteryName"].ToString();

        Label3.Text = LotteryName + "<font class='red14'>" + dr["IsuseName"].ToString() + "</font>期" + dr["PlayTypeName"].ToString() + "认购方案";
        labTitle.Text = dr["IsuseName"].ToString();
        labStartTime.Text = dr["StartTime"].ToString();
        tbIsuseID.Text = dr["IsuseID"].ToString();
        tbLotteryID.Text = dr["LotteryID"].ToString();
        LotteryID = tbLotteryID.Text;
        PlayTypeID = Shove._Convert.StrToInt(dr["PlayTypeID"].ToString(), 0);

        labEndTime.Text = dr["SystemEndTime"].ToString();

        labInitiateUser.Text = dr["InitiateName"].ToString() + "&nbsp;&nbsp;【<A class=li3 href='../Web/Score.aspx?id=" + dr["InitiateUserID"].ToString() + "&LotteryID=" + tbLotteryID.Text + "' target='_blank'>发起人历史战绩</A>】";

        All_QuashStatus = Shove._Convert.StrToShort(dr["QuashStatus"].ToString(), 0);

        bool Buyed = Shove._Convert.StrToBool(dr["Buyed"].ToString(), false);
        int Share = Shove._Convert.StrToInt(dr["Share"].ToString(), 0);
        int BuyedShare = Shove._Convert.StrToInt(dr["BuyedShare"].ToString(), 0);
        double Money = Shove._Convert.StrToDouble(dr["Money"].ToString(), 0);
        double AssureMoney = Shove._Convert.StrToDouble(dr["AssureMoney"].ToString(), 0);
        double WinMoney = Shove._Convert.StrToDouble(dr["WinMoney"].ToString(), 0);
        short SecrecyLevel = Shove._Convert.StrToShort(dr["SecrecyLevel"].ToString(), 0);
        bool IsuseOpenedWined = false;

        if (Share > 1)
        {
            lbSchemeBonus.Text = (Shove._Convert.StrToDouble(dr["SchemeBonusScale"].ToString(), 0.04) * 100).ToString() + "%";
        }

        labSchedule.Text = dr["Schedule"].ToString();

        DataTable dtIsuse = dtIsuse = new DAL.Views.V_Isuses().Open("IsOpened, WinLotteryNumber,Code", "[id] = " + dr["IsuseID"].ToString(), "");

        if (dtIsuse == null)
        {
            PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试(-213)", this.GetType().FullName);

            return;
        }

        if (dtIsuse.Rows.Count < 1)
        {
            PF.GoError(ErrorNumber.Unknow, "系统错误(-220)", this.GetType().FullName);

            return;
        }

        IsuseOpenedWined = Shove._Convert.StrToBool(dt.Rows[0]["SchemeIsOpened"].ToString(), true);

        lbWinNumber.Text = dtIsuse.Rows[0]["WinLotteryNumber"].ToString();
        ImageLogo.ImageUrl = "images/lottery/" + dtIsuse.Rows[0]["Code"].ToString().ToLower() + ".jpg";

        //能撤消整个方案
        //Opt_FullSchemeCanQuash 是否允许撤消满员方案
        bool isSchemeCanQuash = _Site.SiteOptions["Opt_FullSchemeCanQuash"].ToBoolean(false);

        if (!isSchemeCanQuash)
        {
            btnQuashScheme.Visible = ((All_QuashStatus == 0) && (!Buyed) && (Share > BuyedShare) && _User != null && (InitiateUserID == _User.ID));
        }
        else
        {
            btnQuashScheme.Visible = ((All_QuashStatus == 0) && (!Buyed) && _User != null && (InitiateUserID == _User.ID));
        }

        short AtTopStatus = Shove._Convert.StrToShort(dr["AtTopStatus"].ToString(), 0);
        bool AtTopApplication = (AtTopStatus != 0);

        if (AtTopStatus == 0)
        {
            cbAtTopApplication.Visible = ((All_QuashStatus == 0) && (!Buyed) && (Share > BuyedShare) && _User != null && (InitiateUserID == _User.ID));
            cbAtTopApplication.Checked = AtTopApplication;
        }
        else
        {
            labAtTop.Visible = true;
        }

        bool Stop = false;

        //  投住内容

        labMultiple.Text = dr["Multiple"].ToString();

        //  SecrecyLevel 0 不保密 1 到截止 2 到开奖 3 永远
        if ((SecrecyLevel == SchemeSecrecyLevels.ToDeadline) && !Stop && ((_User == null) || ((_User != null) && (InitiateUserID != _User.ID) && (!_User.isOwnedViewSchemeCompetence()))))
        {
            labLotteryNumber.Text = "投注内容已经被保密,将在本期投注截止后公开。";
        }
        else if ((SecrecyLevel == SchemeSecrecyLevels.ToOpen) && !IsuseOpenedWined && ((_User == null) || ((_User != null) && (InitiateUserID != _User.ID) && (!_User.isOwnedViewSchemeCompetence()))))
        {
            labLotteryNumber.Text = "投注内容已经被保密,将在本期开奖后公开。";
        }
        else if ((SecrecyLevel == SchemeSecrecyLevels.Always) && ((_User == null) || ((_User != null) && (InitiateUserID != _User.ID) && (!_User.isOwnedViewSchemeCompetence()))))
        {
            labLotteryNumber.Text = "投注内容已经被保密。";
        }
        else
        {
            int MaxShowLotteryNumberRows = _Site.SiteOptions["Opt_MaxShowLotteryNumberRows"].ToShort(0);

            string t_str = "";

            try
            {
                t_str = dr["LotteryNumber"].ToString();
            }
            catch { }

            if (Shove._String.StringAt(t_str, '\n') < 1 && !string.IsNullOrEmpty(t_str))
            {
                StringBuilder sbTeam = new StringBuilder();

                if ((new SLS.Lottery.JCLQ().CheckPlayType(Shove._Convert.StrToInt(dr["PlayTypeID"].ToString(), -1))) || (new SLS.Lottery.JCZQ().CheckPlayType(Shove._Convert.StrToInt(dr["PlayTypeID"].ToString(), -1))))
                {
                    labLotteryNumber.Text = PF.GetScriptResTable(t_str);
                }
                else if (dr["LotteryID"].ToString().Equals("75") || dr["LotteryID"].ToString().Equals("74"))
                {
                    DataTable dtIsusesTeat = new DAL.Tables.T_IsuseForSFC().Open("", "IsuseID=" + dr["IsuseID"].ToString(), "No");

                    sbTeam.Append("<div class=\"tdbback\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"tablelay\">");
                    sbTeam.Append("<th>场次</th>");
                    sbTeam.Append("<th>1</th>");
                    sbTeam.Append("<th>2</th>");
                    sbTeam.Append("<th>3</th>");
                    sbTeam.Append("<th>4</th>");
                    sbTeam.Append("<th>5</th>");
                    sbTeam.Append("<th>6</th>");
                    sbTeam.Append("<th>7</th>");
                    sbTeam.Append("<th>8</th>");
                    sbTeam.Append("<th>9</th>");
                    sbTeam.Append("<th>10</th>");
                    sbTeam.Append("<th>11</th>");
                    sbTeam.Append("<th>12</th>");
                    sbTeam.Append("<th>13</th>");
                    sbTeam.Append("<th>14</th>");
                    sbTeam.Append("<th>倍数</th>");
                    sbTeam.Append("<th>金额</th></tr>");
                    sbTeam.Append("<tr class=\"tr1\"><td>对阵</td>");

                    for (int i = 0; i < dtIsusesTeat.Rows.Count; i++)
                    {
                        sbTeam.Append("<td><div class=\"texts\">" + dtIsusesTeat.Rows[i]["HostTeam"].ToString() + " <span> VS </span> " + dtIsusesTeat.Rows[i]["QuestTeam"].ToString() + " </div></td>");
                    }

                    sbTeam.Append("<td>&nbsp;</td><td class=\"gray trline trline4 trline5\">单位(元)</td></tr>");
                    sbTeam.Append("<tr class=\"tr2\"><td class=\"gray trline trline3\">选号</td>");

                    for (int i = 0; i < 14; i++)
                    {
                        if (t_str.Substring(0, 1).Equals("("))
                        {
                            sbTeam.Append("<td>" + t_str.Substring(1, t_str.IndexOf(")") - 1) + "</td>");

                            t_str = t_str.Substring(t_str.IndexOf(")") + 1);
                        }
                        else
                        {
                            sbTeam.Append("<td>" + t_str.Substring(0, 1) + "</td>");

                            t_str = t_str.Substring(1);
                        }
                    }

                    sbTeam.Append("<td>" + dr["Multiple"].ToString() + "</td>");
                    sbTeam.Append("<td class=\"red\">¥" + Money.ToString() + "</td></tr></table></div>");

                    labLotteryNumber.Text = sbTeam.ToString();
                }
                else if (dr["LotteryID"].ToString().Equals("2"))
                {
                    DataTable dtIsusesTeat = new DAL.Tables.T_IsuseForJQC().Open("", "IsuseID=" + dr["IsuseID"].ToString(), "");

                    sbTeam.Append("<div class=\"tdbback\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"tablelay\">");
                    sbTeam.Append("<th>场次</th>");
                    sbTeam.Append("<th>1</th>");
                    sbTeam.Append("<th>2</th>");
                    sbTeam.Append("<th>3</th>");
                    sbTeam.Append("<th>4</th>");
                    sbTeam.Append("<th>5</th>");
                    sbTeam.Append("<th>6</th>");
                    sbTeam.Append("<th>7</th>");
                    sbTeam.Append("<th>8</th>");
                    sbTeam.Append("<th>倍数</th>");
                    sbTeam.Append("<th>金额</th></tr>");
                    sbTeam.Append("<tr class=\"tr1\"><td>对阵</td>");

                    for (int i = 0; i < dtIsusesTeat.Rows.Count; i++)
                    {
                        sbTeam.Append("<td><div class=\"texts\">" + dtIsusesTeat.Rows[i]["Team"].ToString() + " <div></td>");
                    }

                    sbTeam.Append("<td>&nbsp;</td><td class=\"gray trline trline4 trline5\">单位(元)</td></tr>");
                    sbTeam.Append("<tr class=\"tr2\"><td class=\"gray trline trline3\">选号</td>");

                    for (int i = 0; i < 8; i++)
                    {
                        if (t_str.Substring(0, 1).Equals("("))
                        {
                            sbTeam.Append("<td>" + t_str.Substring(1, t_str.IndexOf(")") - 1) + "</td>");

                            t_str = t_str.Substring(0, t_str.IndexOf(")") + 1);
                        }
                        else
                        {
                            sbTeam.Append("<td>" + t_str.Substring(0, 1) + "</td>");

                            t_str = t_str.Substring(1);
                        }
                    }

                    sbTeam.Append("<td>" + dr["Multiple"].ToString() + "</td>");
                    sbTeam.Append("<td class=\"red\">¥" + Money.ToString() + "</td></tr></table></div>");

                    labLotteryNumber.Text = sbTeam.ToString();
                }
                else if (dr["LotteryID"].ToString().Equals("15"))
                {
                    DataTable dtIsusesTeat = new DAL.Tables.T_IsuseForLCBQC().Open("", "IsuseID=" + dr["IsuseID"].ToString(), "");

                    sbTeam.Append("<div class=\"tdbback\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"tablelay\">");
                    sbTeam.Append("<th>场次</th>");
                    sbTeam.Append("<th>1</th>");
                    sbTeam.Append("<th>2</th>");
                    sbTeam.Append("<th>3</th>");
                    sbTeam.Append("<th>4</th>");
                    sbTeam.Append("<th>5</th>");
                    sbTeam.Append("<th>6</th>");
                    sbTeam.Append("<th>7</th>");
                    sbTeam.Append("<th>8</th>");
                    sbTeam.Append("<th>9</th>");
                    sbTeam.Append("<th>10</th>");
                    sbTeam.Append("<th>11</th>");
                    sbTeam.Append("<th>12</th>");
                    sbTeam.Append("<th>倍数</th>");
                    sbTeam.Append("<th>金额</th></tr>");
                    sbTeam.Append("<tr class=\"tr1\"><td>对阵</td>");

                    for (int i = 0; i < dtIsusesTeat.Rows.Count; i++)
                    {
                        sbTeam.Append("<td><div class=\"texts\">" + dtIsusesTeat.Rows[i]["HostTeam"].ToString() + " <span> VS </span> " + dtIsusesTeat.Rows[i]["QuestTeam"].ToString() + " </div> <span class=\"red\">半</span></td>");
                        sbTeam.Append("<td><div class=\"texts\">" + dtIsusesTeat.Rows[i]["HostTeam"].ToString() + " <span> VS </span> " + dtIsusesTeat.Rows[i]["QuestTeam"].ToString() + " </div> <span class=\"red\">全</span> </td>");
                    }

                    sbTeam.Append("<td>&nbsp;</td><td class=\"gray trline trline4 trline5\">单位(元)</td></tr>");
                    sbTeam.Append("<tr class=\"tr2\"><td class=\"gray trline trline3\">选号</td>");

                    for (int i = 0; i < 12; i++)
                    {
                        if (t_str.Substring(0, 1).Equals("("))
                        {
                            sbTeam.Append("<td>" + t_str.Substring(1, t_str.IndexOf(")") - 1) + "</td>");

                            t_str = t_str.Substring(0, t_str.IndexOf(")") + 1);
                        }
                        else
                        {
                            sbTeam.Append("<td>" + t_str.Substring(0, 1) + "</td>");

                            t_str = t_str.Substring(1);
                        }
                    }

                    sbTeam.Append("<td>" + dr["Multiple"].ToString() + "</td>");
                    sbTeam.Append("<td class=\"red\">¥" + Money.ToString() + "</td></tr></table></div>");

                    labLotteryNumber.Text = sbTeam.ToString();
                }
                else
                {
                    labLotteryNumber.Text = Shove._Convert.ToHtmlCode(t_str) + "&nbsp;";

                    if (IsuseOpenedWined)
                    {
                        NumberDuiBi(labLotteryNumber.Text, lbWinNumber.Text, PlayTypeID);
                    }
                }
            }
            else if (Shove._String.StringAt(t_str, '\n') < MaxShowLotteryNumberRows && !dr["LotteryID"].ToString().Equals("74") && !dr["LotteryID"].ToString().Equals("75") && !dr["LotteryID"].ToString().Equals("2") && !dr["LotteryID"].ToString().Equals("15") && !dr["LotteryID"].ToString().Equals("72") && !dr["LotteryID"].ToString().Equals("73"))
            {
                labLotteryNumber.Text = Shove._Convert.ToHtmlCode(t_str) + "&nbsp;";

                if (IsuseOpenedWined)
                {
                    NumberDuiBi(labLotteryNumber.Text, lbWinNumber.Text, PlayTypeID);
                }
            }
            else if(!string.IsNullOrEmpty(t_str))
            {
                linkDownloadScheme.Visible = true;
                linkDownloadScheme.NavigateUrl = "../Web/DownloadSchemeFile.aspx?id=" + tbSchemeID.Text;
            }

            if (dr["LotteryID"].ToString().Equals("72") || dr["LotteryID"].ToString().Equals("73"))
            {
                labEndTime.Text = GetScriptResTable(t_str);
            }
        }

        System.DateTime EndTime = Shove._Convert.StrToDateTime(labEndTime.Text, DateTime.Now.ToString());

        if (DateTime.Now >= EndTime)
        {
            Stop = true;
            tbStop.Text = Stop.ToString();
        }

        if (All_QuashStatus > 0)
        {
            if (All_QuashStatus == 2)
            {
                labState.Text = "已撤单(系统撤单)";
            }
            else
            {
                labState.Text = "已撤单";
            }
        }
        else
        {
            if (Buyed)
            {
                labState.Text = "<FONT color='red'>已出票</font>";
            }
            else
            {
                if (Stop)
                {
                    labState.Text = "已截止";
                }
                else
                {
                    if (Share <= BuyedShare)
                    {
                        labState.Text = "<FONT color='red'>已满员</font>";
                    }
                    else
                    {
                        labState.Text = "<font color='red'>抢购中...</font>";
                    }
                }
            }
        }

        // 填充
        labSchemeNumber.Text = dr["SchemeNumber"].ToString();
        labSchemeMoney.Text = Shove._Convert.StrToDouble(dr["Money"].ToString(), 0).ToString("N");
        labSchemeTitle.Text = dr["Title"].ToString() + "&nbsp;";
        labSchemeDescription.Text = dr["Description"].ToString() + "&nbsp;";

        labSchemeADUrl.Text = Shove._Web.Utility.GetUrl() + "/Home/Room/Scheme.aspx?id=" + tbSchemeID.Text;
        
        if (string.IsNullOrEmpty(dr["LotteryNumber"].ToString()) && (LotteryID == "1" || LotteryID == "2" || LotteryID == "15" || LotteryID == "74" || LotteryID == "75") && All_QuashStatus == 0 && !Stop && !Buyed)
        {
            labLotteryNumber.Text = "未上传";

            if (_User != null && dr["InitiateUserID"].ToString() == _User.ID.ToString())
            {
                lbUploadScheme.Visible = true;

                DataTable dtPrepareBet = new DAL.Tables.T_PrepareBet().Open("", "SchemeID=" + SchemeID.ToString(), "");

                if (dtPrepareBet == null)
                {
                    PF.GoError(ErrorNumber.DataReadWrite, "数据访问错误(-364)", this.GetType().FullName);

                    return;
                }

                if (dtPrepareBet.Rows.Count < 1)
                {
                    hidMaxMoney.Value = Money.ToString();
                }
                else
                {
                    hidMaxMoney.Value = dtPrepareBet.Rows[0]["MaxMoney"].ToString();
                }
            }
        }

        labAssureMoney.Text = (AssureMoney > 0) ? string.Format("<FONT color='red'>{0}</font> 元", AssureMoney.ToString("N")) : "未保底";

        if (All_QuashStatus > 0)
        {
            if (All_QuashStatus == 2)
            {
                labWin.Text = "已撤单(系统撤单)";
            }
            else
            {
                labWin.Text = "已撤单";
            }
        }
        else
        {
            if (Stop)
            {
                labWin.Text = string.Format("<FONT color='red'>{0}</font> 元", WinMoney.ToString("N"));
                string WinDescription = dr["WinDescription"].ToString();

                if (WinDescription != "")
                {
                    labWin.Text += "<br />" + WinDescription;
                }
                else
                {
                    if (IsuseOpenedWined)
                    {
                        labWin.Text += "  未中奖";
                    }
                    else
                    {
                        labWin.Text += "  <font color='red'>【注】</font>中奖结果在开奖后需要一段时间才能显示。";
                    }
                }
            }
            else
            {
                labWin.Text = "尚未截止";
            }
        }

        if (IsuseOpenedWined)
        {
            if (LotteryID == "1" || LotteryID == "2" || LotteryID == "15")
            {
                labWin.Text += "(命中<font color='red'>" + CompareLotteryNumberToWinNumber(dr["LotteryNumber"].ToString(), dr["WinLotteryNumber"].ToString()).ToString() + "</font>场)";
            }
        }

        if (Stop)
        {
            labCannotBuyTip.Text = "方案已截止,不能认购";
            labCannotBuyTip.Visible = true;
            pBuy.Visible = false;
            btnOK.Enabled = false;
        }
        else
        {
            if (All_QuashStatus > 0)
            {
                labCannotBuyTip.Text = "方案已撤单,不能认购";
                labCannotBuyTip.Visible = true;
                pBuy.Visible = false;
                btnOK.Enabled = false;
            }
            else
            {
                if (BuyedShare >= Share)
                {
                    labCannotBuyTip.Text = "方案已满员,不能认购";
                    labCannotBuyTip.Visible = true;
                    pBuy.Visible = false;
                    btnOK.Enabled = false;
                }
                else
                {
                    labCannotBuyTip.Visible = false;
                    pBuy.Visible = true;
                    btnOK.Enabled = true;
                }
            }
        }

        labShare.Text = Share.ToString();
        labBuyedShare.Text = (Share - BuyedShare).ToString();
        labShareMoney.Text = (Money / Share).ToString("N");

        // 绑定参与用户列表
        BindDataForUserList();

        if (_User != null)
        {
            DataTable dtMyBuy = new DAL.Views.V_BuyDetailsWithQuashedAll().Open("[id],[DateTime],[Money],Share,SchemeShare,BuyedShare,QuashStatus,Buyed,IsuseID,Code,Schedule,DetailMoney,isWhenInitiate, WinMoneyNoWIthTax", "SiteID = " + _Site.ID.ToString() + " and SchemeID = " + Shove._Web.Utility.FilteSqlInfusion(tbSchemeID.Text) + " and [UserID] = " + _User.ID.ToString(), "[id]");

            if (dtMyBuy == null)
            {
                PF.GoError(ErrorNumber.DataReadWrite, "数据库繁忙,请重试(-518)", this.GetType().FullName);

                return;
            }

            if (dtMyBuy.Rows.Count == 0)
            {
                labMyBuy.Text = "此方案还没有我的认购记录。";
                labMyBuy.Visible = true;

                g.Visible = false;
            }
            else
            {
                labMyBuy.Visible = false;

                g.Visible = true;

                PF.DataGridBindData(g, dtMyBuy);

                if (IsuseOpenedWined)
                {
                    double DetailMoney = 0;

                    for (int i = 0; i < dtMyBuy.Rows.Count; i++)
                    {
                        DetailMoney += double.Parse(dtMyBuy.Rows[i]["WinMoneyNoWIthTax"].ToString());
                    }

                    lbReward.Text = DetailMoney.ToString("N");
                }

            }

            if (_User.UserType < 2)
            {
                btnOK.Enabled = false;
                btnQuashScheme.Enabled = false;
            }
        }

    }