using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using CP.Cache;
using CP.Common;
using CP.Model;
namespace CP.Business
{
public class Dfgdhc1
{
///
/// 缓存
/// y
static WMCache cache = WMCache.GetCacheService();
///
/// 遗漏上用到的好彩1数据
///
///
///
public static List GetMissTcqxcList(ref List list, int eqi)
{
List rlist = new List();
if (eqi > 0)
{
int size = list.Count;
int erank = GetDfgdhc1Info(ref list,eqi).rank;
if (erank > 0)
{
for (int i = 0; i < erank && i < size; i++)
{
rlist.Add(list[i]);
}
}
else
{
for (int i = 0; i < size; i++)
{
rlist.Add(list[i]);
}
}
}
else
{
rlist = list;
}
return rlist;
}
///
/// cache中的所有广东好彩1数据列表
///
///
public static List GetDfgdhc1List()
{
string key = CacheKeys.DFGDHC1_DATALIST;
List list = cache.GetObject>(key) as List;
if (list == null)
{
list = Dfgdhc1Data.GetDfgdhc1Data();
cache.AddObject(key, list, (int)CacheTime.Data);
}
return list;
}
///
/// 走势图上用到的数据筛选.
///
///
///
///
///
///
///
public static List GetDfgdhc1List(ref List list,int pagesize, int year, int sqi, int eqi, int week = 0)
{
List rlist = new List();
int size = list.Count;
if (pagesize > 0)
{
for (int i = (size - pagesize); i < size; i++)
{
rlist.Add(list[i]);
}
return rlist;
}
if (year > 0)
{
rlist.Clear();
for (int i = 0; i < size; i++)
{
if (TypeConverter.StrToInt(list[i].qi.ToString().Substring(0, 4), 0) == year)
rlist.Add(list[i]);
}
return rlist;
}
if (week > 0)
{
rlist.Clear();
List temp = new List();
for (int i = 0; i < size; i++)
{
if (list[i].week == week)
temp.Add(list[i]);
}
for (int i = (temp.Count - 60); i < temp.Count; i++)
{
rlist.Add(temp[i]);
}
return rlist;
}
if (sqi > 0 && eqi > 0)
{
rlist.Clear();
int srank = GetDfgdhc1Info(ref list,sqi).rank;
int erank = GetDfgdhc1Info(ref list,eqi).rank;
if (erank != 0 && srank != 0 && erank > srank)
{
for (int i = srank - 1; i < erank && i < size; i++)
{
rlist.Add(list[i]);
}
}
return rlist;
}
///无参数条件时,返回所有数据到现在的所有数据..
if (pagesize == 0 && year == 0 && sqi == 0 && eqi == 0 && week == 0)
return list;
return rlist;
}
///
/// 根据期数获取期一期的数据...
///
///
///
public static Dfgdhc1Info GetDfgdhc1Info(ref List list, int qi)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = 0; i < size; i++)
{
if (list[i].qi == qi)
{
info = list[i];
break;
}
}
return info;
}
#region 上一次的数据
///
/// 根据当前排名,取出上一个排名,即上一期的数据.
///
///
///
public static Dfgdhc1Info GetLastQiDfgdHc1Info(ref List list, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (list[i].rank == rank - 1)
{
info = list[i];
return info;
}
}
return info;
}
///
/// 根据当前排名,取出下一个排名,即下一期的数据.
///
///
///
public static Dfgdhc1Info GetNextQiDfgdHc1Info(ref List list, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 1; i
/// 上一次开奖号=n的数据
///
///
///
public static Dfgdhc1Info GetLastDfgdhc1Info(ref List list, int n, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (list[i].n1 == n)
{
info = list[i];
return info;
}
}
return info;
}
///
/// 上一次生肖=val的数据
///
///
///
///
public static Dfgdhc1Info GetLastSxDfgdhc1Info(ref List list, string val, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (ZstUtils.GetShengXiao(list[i].n1).Equals(val))
{
info = list[i];
return info;
}
}
return info;
}
///
/// 上一次季节=val的数据
///
///
///
///
public static Dfgdhc1Info GetLastJjDfgdhc1Info(ref List list, string val, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (ZstUtils.GetJiJie(list[i].n1).Equals(val))
{
info = list[i];
return info;
}
}
return info;
}
///
/// 上一次方位=val的数据
///
///
///
///
public static Dfgdhc1Info GetLastFwDfgdhc1Info(ref List list, string val, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (ZstUtils.GetFangWei(list[i].n1).Equals(val))
{
info = list[i];
return info;
}
}
return info;
}
///
/// 上一次大小=val的数据
///
///
///
///
public static Dfgdhc1Info GetLastDxDfgdhc1Info(ref List list, int val, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (ZstUtils.GetHc1Dx(list[i].n1) == val)
{
info = list[i];
return info;
}
}
return info;
}
///
/// 上一次奇偶
///
///
///
///
public static Dfgdhc1Info GetLastJoDfgdhc1Info(ref List list, int val, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (ZstUtils.GetJo(list[i].n1) == val)
{
info = list[i];
return info;
}
}
return info;
}
///
/// 上一次质合
///
///
///
///
public static Dfgdhc1Info GetLastZhDfgdhc1Info(ref List list, int val, int rank)
{
Dfgdhc1Info info = new Dfgdhc1Info();
int size = list.Count;
for (int i = rank - 2; i >= 0; i--)
{
if (ZstUtils.GetZh(list[i].n1) == val)
{
info = list[i];
return info;
}
}
return info;
}
#endregion
#region 状态=val的最近n期数据
///
/// 号码=red的所有数据..
///
///
///
public static List GetHc1ListByNum(ref List list, int red)
{
List rlist = new List();
if (list != null && list.Count > 0)
{
int size = list.Count;
for (int i = 0; i < size; i++)
{
if (list[i].n1==red)
rlist.Add(list[i]);
}
}
return rlist;
}
///
/// 生肖=val的所有数据..
///
///
///
public static List GetHc1ListBySx(ref List list, string val)
{
List rlist = new List();
if (list != null && list.Count > 0)
{
int size = list.Count;
for (int i = 0; i < size; i++)
{
if (ZstUtils.GetShengXiao(list[i].n1) == val)
rlist.Add(list[i]);
}
}
return rlist;
}
///
/// 季节=val的所有数据
///
///
///
public static List GetHc1ListByJj(ref List list, string val)
{
List rlist = new List();
if (list != null && list.Count > 0)
{
int size = list.Count;
for (int i = 0; i < size; i++)
{
if (ZstUtils.GetJiJie(list[i].n1) == val)
rlist.Add(list[i]);
}
}
return rlist;
}
///
/// 方位=val的所有数据
///
///
///
public static List GetHc1ListByFw(ref List list, string val)
{
List rlist = new List();
if (list != null && list.Count > 0)
{
int size = list.Count;
for (int i = 0; i < size; i++)
{
if (ZstUtils.GetFangWei(list[i].n1) == val)
rlist.Add(list[i]);
}
}
return rlist;
}
#endregion
#region 开奖公告相关方法
///
///好彩1最近30期开奖数据,完整开奖信息,有缓存
///
///
public static List GetDfgdHc1ListTop30()
{
string key = string.Format(CacheKeys.DFGDHC1_KJH_DATA);
List list = cache.GetObject>(key) as List;
if (list == null)
{
list = Dfgdhc1Data.GetDfgdHc1Top30();
cache.AddObject(key, list, (int)CacheTime.Kjh);
}
return list;
}
///
/// 获取最新一期开奖信息,完整开奖信息,有缓存
///
///
public static Dfgdhc1LongInfo GetDfgdHc1InfoTop1(ref List list)
{
Dfgdhc1LongInfo info = new Dfgdhc1LongInfo();
if (list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
if (list[i].n1 >= 0)
{
info = list[i];
return info;
}
}
}
return info;
}
///
/// 根据期数返回某期完整开奖信息,无缓存
///
///
///
public static Dfgdhc1LongInfo GetDfgdHc1InfoByqi(int qi)
{
return Dfgdhc1Data.GetDfgdHc1InfoByQi(qi);
}
///
/// 返回好彩1某年对应的期数列表,有缓存
///
///
///
public static List GetDfgdHc1QiListByYear(int year)
{
string key = string.Format(CacheKeys.DFGDHC1_KJH_DATA + "/qilistbyyear/{0}", year);
List list = cache.GetObject>(key) as List;
if (list == null)
{
list = Dfgdhc1Data.GetDfgdHc1QiListByYear(year);
cache.AddObject(key, list, (int)CacheTime.System);
}
return list;
}
#endregion
}
}