using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using CB.Common; using CB.Data; using CB.Entity; using CB.Entity.Frequency; using CB.Interface.Infrastructure; namespace CB.Data.SqlServer { public class HC1Manage : Repository, IHC1Service { public HC1Manage(string interfaceId) : base(interfaceId) { } public override bool Save(HC1Info 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,"@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_HC1_save", pars)) > 0; } public override bool Update(HC1Info entity) { throw new NotImplementedException(); } 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_HC1_Delete", pars)) > 0; } public override HC1Info Get(TKey key) { HC1Info 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],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime] FROM [DT_HC1] WHERE [Id]= @Id", para)) { if (reader.Read()) { Entity = LoadEntity(reader); } reader.Dispose(); } return Entity; } public override IList ToList() { IList list = new List(); using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, "SELECT [Id],[Term],[OpenCode1],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime] FROM [DT_HC1] 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 ToList(HC1Info entity) { throw new NotImplementedException(); } public override IList ToPaging(HC1Info 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],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime]" , orderField = "Term desc" , tableName = "DT_HC1"; 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 list = new List(); 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; } protected override HC1Info LoadEntity(DataRow dr) { HC1Info entity = new HC1Info { Id = TypeConverter.ObjectToInt(dr["Id"]), Term = TypeConverter.ObjectToInt(dr["Term"]), OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]), OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue), ShiJiHao = dr["ShiJiHao"].ToString(), KaiJiHao = dr["KaiJiHao"].ToString(), Detail = dr["Detail"].ToString(), Addtime = TypeConverter.ObjectToDateTime(dr["Addtime"], DateTime.MinValue), }; entity.OpenCode = new List() { entity.OpenCode1 }; return entity; } protected override HC1Info LoadEntity(IDataReader reader) { HC1Info entity = new HC1Info { Id = TypeConverter.ObjectToInt(reader["Id"]), Term = TypeConverter.ObjectToInt(reader["Term"]), OpenCode1 = TypeConverter.ObjectToInt(reader["OpenCode1"]), OpenTime = TypeConverter.ObjectToDateTime(reader["OpenTime"], DateTime.MinValue), ShiJiHao = reader["ShiJiHao"].ToString(), KaiJiHao = reader["KaiJiHao"].ToString(), Detail = reader["Detail"].ToString(), Addtime = TypeConverter.ObjectToDateTime(reader["Addtime"], DateTime.MinValue), }; entity.OpenCode = new List() { entity.OpenCode1 }; return entity; } public IList ToListForTrend(long term, LotterySearchField fields) { IList list = new List(); DbParameter[] para; int numRepeat = null == fields ? 0 : fields.NumRepeat; para = new DbParameter[] { DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,200,"SELECT TOP 2 [Term],[OpenCode1],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_HC1] 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) }; using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.StoredProcedure, "dbo.sp_executesql", para)) { while (reader.Read()) { var entity = new HC1Info { Term = TypeConverter.ObjectToInt(reader["Term"]), OpenCode1 = TypeConverter.ObjectToInt(reader["OpenCode1"]), OpenTime = TypeConverter.ObjectToDateTime(reader["OpenTime"], DateTime.MinValue), ShiJiHao = reader["ShiJiHao"].ToString().Trim(), KaiJiHao = reader["KaiJiHao"].ToString().Trim() }; entity.OpenCode = new List() { entity.OpenCode1 }; list.Add(entity); } reader.Dispose(); } return list; } public IList GetListToEnd(long term, LotterySearchField fields) { IList list = new List(); DbParameter[] para; int numRepeat = null == fields ? 0 : fields.NumRepeat; para = new DbParameter[] { DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,200,"SELECT [Term],[OpenCode1],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_HC1] 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) }; 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 HC1Info { Term = TypeConverter.ObjectToInt(dr["Term"]), OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]), OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue), ShiJiHao = dr["ShiJiHao"].ToString().Trim(), KaiJiHao = dr["KaiJiHao"].ToString().Trim() }; entity.OpenCode = new List() { entity.OpenCode1 }; list.Add(entity); } } dt.Dispose(); } return list; } public int GetMaxTerm() { throw new NotImplementedException(); } } }