using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CB.Framework;
using CB.Common;
using CB.Entity;
using System.Text;
using System.Text.RegularExpressions;
namespace CB.Wap.yl
{
public partial class list : WebPage
{
//走势图表
protected string hTitle = "", hDescription = "", hKeywords = "";
protected string chartData = "", chartName = "", TrendItem = "", recommend = "";
//彩种相关
protected string lotName = "", lotLogoCsss = "";
protected string ShowtrendMenu = "", HidetrendMenu = "";
protected string navStr = "";
protected long term = 0;
protected void Page_Load(object sender, EventArgs e)
{
InitData();
header1.ColumnName = lotName;
}
protected override void InitData()
{
int chartid = WRequest.GetQueryInt("chartid");
term = WRequest.GetQueryInt("endTerm");
if (0 >= chartid)
{ ShowError(); return; }
var entity = CB.Data.Caches.GetTrendChartInfo(chartid);
if (null == entity)
{ ShowError(); return; }
chartName = entity.Name;
hTitle = entity.hTitle;
hDescription = entity.hDescription;
hKeywords = entity.hKeywords;
var lottery = CB.Data.Caches.GetLotteryInfo(entity.Cid);
if (null != lottery)
{
lotName = lottery.Name;
lotLogoCsss = GetLotteryLogoCss(entity.Cid);
navStr = string.Format("{2} - {3}", lottery.Id, chartid, lotName, chartName);
}
var list = CB.Data.Caches.GetTrendChartList(entity.Cid, 2003, 0);
if (list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
//var _name = Regex.Replace(list[i].Name, "^" + lottery.Name, "", RegexOptions.IgnoreCase);
var _name = LotteryNameReplace(list[i].Name, lottery.Name); ;
ShowtrendMenu += "
" + _name + "";
//if (i < 3)
//{
// ShowtrendMenu += "" + _name + "";
//}
//else
//{
// HidetrendMenu += "" + _name + "";
//}
//modified by zizi , at 2016-5-25(去掉页头前面的彩种名称)
if (list[i].Id == chartid)
lotName = lottery.Name.Trim() + _name;
}
}
else
{
ShowtrendMenu = "";
}
UpdateTrendSmart(entity.Id);
if (term <= 0)
{
switch (entity.Cid)
{
case 1:
term = CB.Data.Caches.GetFC3DInfo(term, OpenCodeType.KaiJiangHao).Term;
break;
case 2:
term = CB.Data.Caches.GetTCP3Info(term, OpenCodeType.KaiJiangHao).Term;
break;
case 4:
term = CB.Data.Caches.GetFCSSQInfo(term, OpenCodeType.KaiJiangHao).Term;
break;
}
}
Dictionary data = new Dictionary();
data.Add("", GetMissData(chartid, term));
data.Add("",TrendItem);
chartData = BuildTemplateData(entity.TemplateId, data);
var viewbag = new Dictionary();
viewbag.Add("lotTitle", "热门遗漏");
recommend = HotRecommend(chartid, entity, lottery.Name, "电脑版遗漏", viewbag);
base.InitData();
}
private string GetMissData(int tid, long term)
{
IList list = CB.Data.TrendMissDataService.GetMissDataList(tid, term);
var sb = new StringBuilder();
var trenditems = new StringBuilder();
int i = 0;
string bg = "";
foreach (var item in list)
{
if (i % 2 == 0)
{
bg = " class=\"even\"";
if (item.AppearingProbability > 2)
{
bg = " class=\"even red\"";
}
else if (item.AppearingProbability < 2 && item.CoveringProbability > 2)
{
bg = " class=\"even purple\"";
}
}
else
{
bg = "";
if (item.AppearingProbability > 2)
{
bg = " class=\"red\"";
}
else if (item.AppearingProbability < 2 && item.CoveringProbability > 2)
{
bg = " class=\"purple\"";
}
}
sb.AppendFormat("", bg);
trenditems.AppendFormat("{0} | ", item.ItemValue);//项值
sb.AppendFormat("{0} | ", Math.Round(item.Cycle, 2));//周期
sb.AppendFormat("{0}|{1} | ", item.Times, item.TimesTheory);//实际次数|理论次数
sb.Append("" + string.Format("{0:0.00%}", item.Probability) + " | ");//出现概率
sb.AppendFormat("{0} | ", item.AvgMiss.ToString("F2"));//平均遗漏
sb.AppendFormat("{0} | ", item.MaxMiss);//最大遗漏
sb.AppendFormat("{0} | ", item.LastMaxMiss);//历史最大遗漏
sb.AppendFormat("{0} | ", item.LastMiss);//上期遗漏
sb.AppendFormat("{0} | ", item.LocalMiss);//本期遗漏
sb.AppendFormat("{0} | ", item.AppearingProbability.ToString("F2"));//欲出几率
sb.AppendFormat("{0} | ", item.InvestmentValue.ToString("F2"));//投资价值
sb.AppendFormat("{0} | ", item.CoveringProbability.ToString("F2"));//回补几率
sb.AppendFormat("{0} | ", item.ContinuousProbability.ToString("F2"));//连出概率
sb.AppendFormat("{0} | ", item.ContinuousMaxTimes);//最大连出次数
sb.AppendFormat("{0} | ", item.ContinuousMaxMiss);//最大连出遗漏
sb.AppendFormat("{0} | ", 0 == item.ContinuousTimes ? item.Times - 1 : item.ContinuousLocalMiss);//当前连出遗漏
sb.AppendFormat("{0} | ", item.ContinuousLocalProbability.ToString("F2"));//当前连出几率
sb.Append("
");
i++;
}
TrendItem = trenditems.ToString();
return sb.ToString();
}
}
}