123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.Common;
- using CB.Common;
- using CB.Data;
- using CB.Entity;
- using CB.Interface.Infrastructure;
- namespace CB.Data.SqlServer
- {
- public class FC3DManage : Repository<FC3DInfo>, IFC3DService
- {
- public FC3DManage(string interfaceId)
- : base(interfaceId)
- {
- }
- public override bool Save(FC3DInfo entity)
- {
- DbParameter[] pars ={
- DbHelper.MakeInParam(InterfaceId,"@Term",(DbType)SqlDbType.Int,4,entity.Term),
- DbHelper.MakeInParam(InterfaceId,"@OpenCode1",(DbType)SqlDbType.Int,4,entity.OpenCode1),
- DbHelper.MakeInParam(InterfaceId,"@OpenCode2",(DbType)SqlDbType.Int,4,entity.OpenCode2),
- DbHelper.MakeInParam(InterfaceId,"@OpenCode3",(DbType)SqlDbType.Int,4,entity.OpenCode3),
- DbHelper.MakeInParam(InterfaceId,"@OpenTime",(DbType)SqlDbType.DateTime,0,entity.OpenTime),
- DbHelper.MakeInParam(InterfaceId,"@ShiJiHao",(DbType)SqlDbType.NVarChar,0,entity.ShiJiHao),
- DbHelper.MakeInParam(InterfaceId,"@KaiJiHao",(DbType)SqlDbType.NVarChar,0,entity.KaiJiHao),
- DbHelper.MakeInParam(InterfaceId,"@Detail",(DbType)SqlDbType.NVarChar,500,entity.Detail)
- };
- return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.StoredProcedure, "usp_FC3D_save", pars)) > 0;
- }
- public override bool Update(FC3DInfo entity)
- {
- DbParameter[] pars ={
- DbHelper.MakeInParam(InterfaceId,"@Term",(DbType)SqlDbType.Int,4,entity.Term),
- DbHelper.MakeInParam(InterfaceId,"@OpenCode1",(DbType)SqlDbType.Int,4,entity.OpenCode1),
- DbHelper.MakeInParam(InterfaceId,"@OpenCode2",(DbType)SqlDbType.Int,4,entity.OpenCode2),
- DbHelper.MakeInParam(InterfaceId,"@OpenCode3",(DbType)SqlDbType.Int,4,entity.OpenCode3),
- DbHelper.MakeInParam(InterfaceId,"@OpenTime",(DbType)SqlDbType.DateTime,0,entity.OpenTime),
- DbHelper.MakeInParam(InterfaceId,"@ShiJiHao",(DbType)SqlDbType.NVarChar,0,entity.ShiJiHao),
- DbHelper.MakeInParam(InterfaceId,"@KaiJiHao",(DbType)SqlDbType.NVarChar,0,entity.KaiJiHao),
- DbHelper.MakeInParam(InterfaceId,"@Detail",(DbType)SqlDbType.NVarChar,500,entity.Detail)
- };
- return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.StoredProcedure, "usp_FC3D_save", pars)) > 0;
- }
- public override bool Delete(int id)
- {
- DbParameter[] pars ={
- DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,id)
- };
- return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.StoredProcedure, "usp_FC3D_Delete", pars)) > 0;
- }
- public override FC3DInfo Get<TKey>(TKey key)
- {
- FC3DInfo Entity = null;
- DbParameter[] para =
- {
- DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,key)
- };
- using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.Text,
- "SELECT TOP 1 [Id],[Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime] FROM [DT_FC3D] WHERE [Id]= @Id", para))
- {
- if (reader.Read())
- {
- Entity = LoadEntity(reader);
- }
- reader.Dispose();
- }
- return Entity;
- }
- public override IList<FC3DInfo> ToList()
- {
- IList<FC3DInfo> list = new List<FC3DInfo>();
- using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId,
- "SELECT [Id],[Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime] FROM [DT_FC3D] ORDER BY [Term] ASC"))
- {
- if (null != dt && 0 < dt.Rows.Count)
- {
- foreach (DataRow dr in dt.Rows)
- {
- list.Add(LoadEntity(dr));
- }
- }
- dt.Dispose();
- }
- return list;
- }
- public override IList<FC3DInfo> ToList(FC3DInfo entity)
- {
- throw new NotImplementedException();
- }
- public override IList<FC3DInfo> ToPaging(FC3DInfo entity, int pageSize, int pageIndex, out int recordCount)
- {
- string where = "1=1 ";
- if (null != entity)
- {
- if (entity.Term > 0)
- where += " AND [Term]=" + entity.Term;
- }
- recordCount = 0;
- string field = "[Id],[Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime]"
- , orderField = "Term desc"
- , tableName = "DT_FC3D";
- DbParameter[] para =
- {
- DbHelper.MakeInParam(InterfaceId,"@pageSize",(DbType)SqlDbType.Int,4,pageSize),
- DbHelper.MakeInParam(InterfaceId,"@page",(DbType)SqlDbType.Int,4,pageIndex),
- DbHelper.MakeInParam(InterfaceId,"@tableName",(DbType)SqlDbType.NVarChar,500,tableName),
- DbHelper.MakeInParam(InterfaceId,"@field",(DbType)SqlDbType.NVarChar,1000,field),
- DbHelper.MakeInParam(InterfaceId,"@orderField",(DbType)SqlDbType.NVarChar,50,orderField),
- DbHelper.MakeInParam(InterfaceId,"@where",(DbType)SqlDbType.NVarChar,2000,where)
- };
- IList<FC3DInfo> list = new List<FC3DInfo>();
- using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.StoredProcedure, "usp_st_page", para))
- {
- while (reader.Read())
- {
- list.Add(LoadEntity(reader));
- }
- if (reader.NextResult() && reader.Read())
- {
- recordCount = reader.GetInt32(0);
- }
- reader.Dispose();
- }
- return list;
- }
- public IList<FC3DInfo> ToListForTrend(long term, LotterySearchField fields)
- {
- IList<FC3DInfo> list = new List<FC3DInfo>();
- DbParameter[] para;
- int numRepeat = null == fields ? 0 : fields.NumRepeat;
- switch (numRepeat)
- {
- //组三
- case 1:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,350,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE [Term]<=@qi AND (([OpenCode1] = [OpenCode2] AND [OpenCode1] != [OpenCode3]) OR ([OpenCode1] = [OpenCode3] AND [OpenCode2] != [OpenCode3]) OR ([OpenCode2] = [OpenCode3] AND [OpenCode1] != [OpenCode3])) ORDER BY [Term] DESC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- //豹子
- case 2:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,250,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE [Term]<=@qi AND [OpenCode1] = [OpenCode2] AND [OpenCode2] = [OpenCode3] ORDER BY [Term] DESC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- default:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,200,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE [Term]<=@qi ORDER BY [Term] DESC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- }
- using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.StoredProcedure, "dbo.sp_executesql", para))
- {
- while (reader.Read())
- {
- var entity = new FC3DInfo
- {
- Term = TypeConverter.ObjectToInt(reader["Term"]),
- OpenCode1 = TypeConverter.ObjectToInt(reader["OpenCode1"]),
- OpenCode2 = TypeConverter.ObjectToInt(reader["OpenCode2"]),
- OpenCode3 = TypeConverter.ObjectToInt(reader["OpenCode3"]),
- OpenTime = TypeConverter.ObjectToDateTime(reader["OpenTime"], DateTime.MinValue),
- ShiJiHao = reader["ShiJiHao"].ToString().Trim(),
- KaiJiHao = reader["KaiJiHao"].ToString().Trim()
- };
- entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3 };
- list.Add(entity);
- }
- reader.Dispose();
- }
- return list;
- }
- protected override FC3DInfo LoadEntity(DataRow dr)
- {
- FC3DInfo entity = new FC3DInfo
- {
- Id = TypeConverter.ObjectToInt(dr["Id"]),
- Term = TypeConverter.ObjectToInt(dr["Term"]),
- OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]),
- OpenCode2 = TypeConverter.ObjectToInt(dr["OpenCode2"]),
- OpenCode3 = TypeConverter.ObjectToInt(dr["OpenCode3"]),
- OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue),
- ShiJiHao = dr["ShiJiHao"].ToString().Trim(),
- KaiJiHao = dr["KaiJiHao"].ToString().Trim(),
- Detail = dr["Detail"].ToString(),
- Addtime = TypeConverter.ObjectToDateTime(dr["Addtime"], DateTime.MinValue)
- };
- entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3 };
- return entity;
- }
- protected override FC3DInfo LoadEntity(IDataReader reader)
- {
- FC3DInfo entity = new FC3DInfo
- {
- Id = TypeConverter.ObjectToInt(reader["Id"]),
- Term = TypeConverter.ObjectToInt(reader["Term"]),
- OpenCode1 = TypeConverter.ObjectToInt(reader["OpenCode1"]),
- OpenCode2 = TypeConverter.ObjectToInt(reader["OpenCode2"]),
- OpenCode3 = TypeConverter.ObjectToInt(reader["OpenCode3"]),
- OpenTime = TypeConverter.ObjectToDateTime(reader["OpenTime"], DateTime.MinValue),
- ShiJiHao = reader["ShiJiHao"].ToString().Trim(),
- KaiJiHao = reader["KaiJiHao"].ToString().Trim(),
- Detail = reader["Detail"].ToString(),
- Addtime = TypeConverter.ObjectToDateTime(reader["Addtime"], DateTime.MinValue)
- };
- entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3 };
- return entity;
- }
- public IList<FC3DInfo> GetListToEnd(long term, LotterySearchField fields)
- {
- IList<FC3DInfo> list = new List<FC3DInfo>();
- DbParameter[] para;
- int numRepeat = null == fields ? 0 : fields.NumRepeat;
- switch (numRepeat)
- {
- //组三
- case 1:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,2000,"SELECT [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE [Term]>=@qi AND (([OpenCode1] = [OpenCode2] AND [OpenCode1] != [OpenCode3]) OR ([OpenCode1] = [OpenCode3] AND [OpenCode2] != [OpenCode3]) OR ([OpenCode2] = [OpenCode3] AND [OpenCode1] != [OpenCode3])) ORDER BY [Term] ASC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- //豹子
- case 2:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,2000,"SELECT [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE [Term]>=@qi AND [OpenCode1] = [OpenCode2] AND [OpenCode2] = [OpenCode3] ORDER BY [Term] ASC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- default:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,2000,"SELECT [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE [Term]>=@qi ORDER BY [Term] ASC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- }
- using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, CommandType.StoredProcedure, "dbo.sp_executesql", para))
- {
- if (null != dt && 0 < dt.Rows.Count)
- {
- foreach (DataRow dr in dt.Rows)
- {
- var entity = new FC3DInfo
- {
- Term = TypeConverter.ObjectToInt(dr["Term"]),
- OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]),
- OpenCode2 = TypeConverter.ObjectToInt(dr["OpenCode2"]),
- OpenCode3 = TypeConverter.ObjectToInt(dr["OpenCode3"]),
- OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue),
- ShiJiHao = dr["ShiJiHao"].ToString().Trim(),
- KaiJiHao = dr["KaiJiHao"].ToString().Trim()
- };
- entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3 };
- list.Add(entity);
- }
- }
- dt.Dispose();
- }
- return list;
- }
- public IList<FC3DInfo> GetListToEnd(long term, TrendChartSearchField fields)
- {
- IList<FC3DInfo> list = new List<FC3DInfo>();
- DbParameter[] para;
- int numRepeat = null == fields ? 0 : fields.NumRepeat;
- string query = "";
- int topSize = 0;
- if (null != fields)
- {
- if (fields.Year > 0)
- {
- query += " and Term between " + (fields.Year * 1000).ToString() + " and " + ((fields.Year + 1) * 1000).ToString() + " ";
- fields.Record = 1500;
- }
- else if (fields.StartTerm > 0 && fields.EndTerm > 0)
- { query += " and Term between " + fields.StartTerm.ToString() + " and " + fields.EndTerm.ToString() + " "; fields.Record = 1500; }
- else if (fields.Record == 0)
- { fields.Record = 30; }
- topSize = fields.Record;
- }
- string topSql = "";
- if (topSize > 0) topSql = " top (" + topSize .ToString()+")";
- switch (numRepeat)
- {
- //组三
- case 1:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,2000,@"
- SELECT "+topSql+" [Term],[OpenCode1],[OpenCode2],[OpenCode3]" +
- ",[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] " +
- "WHERE OpenCode1 > -1 and [Term]>=@qi AND (([OpenCode1] = [OpenCode2] AND [OpenCode1] != [OpenCode3]) OR ([OpenCode1] = [OpenCode3] AND [OpenCode2] != [OpenCode3]) OR ([OpenCode2] = [OpenCode3] AND [OpenCode1] != [OpenCode3])) "+ query+" ORDER BY [Term] DESC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- //豹子
- case 2:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,2000,"SELECT "+topSql+" [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE OpenCode1 > -1 and [Term]>=@qi AND [OpenCode1] = [OpenCode2] AND [OpenCode2] = [OpenCode3] "+ query+"ORDER BY [Term] DESC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- default:
- para = new DbParameter[]
- {
- DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,2000,"SELECT "+topSql+" [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_FC3D] WHERE OpenCode1 > -1 and [Term]>=@qi "+ query+" ORDER BY [Term] DESC"),
- DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
- DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
- };
- break;
- }
- using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, CommandType.StoredProcedure, "dbo.sp_executesql", para))
- {
- if (null != dt && 0 < dt.Rows.Count)
- {
- foreach (DataRow dr in dt.Rows)
- {
- var entity = new FC3DInfo
- {
- Term = TypeConverter.ObjectToInt(dr["Term"]),
- OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]),
- OpenCode2 = TypeConverter.ObjectToInt(dr["OpenCode2"]),
- OpenCode3 = TypeConverter.ObjectToInt(dr["OpenCode3"]),
- OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue),
- ShiJiHao = dr["ShiJiHao"].ToString().Trim(),
- KaiJiHao = dr["KaiJiHao"].ToString().Trim()
- };
- entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3 };
- list.Add(entity);
- }
- }
- dt.Dispose();
- }
- return list;
- }
- public int GetMaxTerm()
- {
- int MaxTerm = 0;
- using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.StoredProcedure, "dbo.usp_TrendToolGetMaxTermByFC3D"))
- {
- while (reader.Read())
- {
- MaxTerm = TypeConverter.ObjectToInt(reader["Term"]);
- }
- reader.Dispose();
- }
- return MaxTerm;
- }
- }
- }
|