123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- using System;
- using System.Collections.Generic;
- using System.Data.Common;
- using System.Linq;
- using System.Text;
- using CB.Entity;
- using CB.Interface.Infrastructure;
- using System.Data;
- using CB.Common;
- namespace CB.Data.SqlServer
- {
- public class TopicManage : Repository<TopicInfo>, ITopicService
- {
- public TopicManage(string interfaceId)
- : base(interfaceId)
- {
- }
- public override bool Save(TopicInfo entity)
- {
- DbParameter[] pars ={
- DbHelper.MakeInParam(InterfaceId,"@Cid",(DbType)SqlDbType.Int,4,entity.Cid),
- DbHelper.MakeInParam(InterfaceId,"@Title",(DbType)SqlDbType.NVarChar,300,entity.Title),
- DbHelper.MakeInParam(InterfaceId,"@Context",(DbType)SqlDbType.NVarChar,0,entity.Context),
- DbHelper.MakeInParam(InterfaceId,"@Status",(DbType)SqlDbType.Int,2,entity.Status),
- DbHelper.MakeInParam(InterfaceId,"@Uid",(DbType)SqlDbType.Int,4,entity.Uid),
- DbHelper.MakeInParam(InterfaceId,"@UserName",(DbType)SqlDbType.NVarChar,20,entity.UserName),
- DbHelper.MakeInParam(InterfaceId,"@thumbsURL",(DbType)SqlDbType.NVarChar,2000,entity.thumbsURL),
- DbHelper.MakeInParam(InterfaceId,"@thumbsSize",(DbType)SqlDbType.NVarChar,1000,entity.thumbsSize),
- DbHelper.MakeInParam(InterfaceId,"@FileName",(DbType)SqlDbType.NVarChar,2000,entity.FileName),
- DbHelper.MakeInParam(InterfaceId,"@FilteType",(DbType)SqlDbType.NVarChar,500,entity.FilteType),
- DbHelper.MakeInParam(InterfaceId,"@FileURL",(DbType)SqlDbType.NVarChar,2000,entity.FileURL),
- DbHelper.MakeInParam(InterfaceId,"@FileSize",(DbType)SqlDbType.NVarChar,1000,entity.FileSize)
- };
- return DbHelper.ExecuteNonQuery(InterfaceId, CommandType.Text, @"INSERT INTO [DT_Topic] ([Cid],[Title],[Context],[Status],[Uid],[UserName],
- [LastUpDateTime],[Addtime],[thumbsURL],[thumbsSize],[FileName],[FilteType],[FileURL],[FileSize])
- VALUES (@Cid,@Title,@Context,@Status,@Uid,@UserName,GETDATE(),GETDATE(),@thumbsURL,@thumbsSize,@FileName,@FilteType,@FileURL,@FileSize)", pars) > 0;
- }
- public override bool Update(TopicInfo entity)
- {
- DbParameter[] pars ={
- DbHelper.MakeInParam(InterfaceId,"@Tid",(DbType)SqlDbType.Int,4,entity.Tid),
- DbHelper.MakeInParam(InterfaceId,"@Cid",(DbType)SqlDbType.Int,4,entity.Cid),
- DbHelper.MakeInParam(InterfaceId,"@Title",(DbType)SqlDbType.NVarChar,300,entity.Title),
- DbHelper.MakeInParam(InterfaceId,"@Context",(DbType)SqlDbType.NVarChar,0,entity.Context),
- DbHelper.MakeInParam(InterfaceId,"@Status",(DbType)SqlDbType.Int,2,entity.Status),
- DbHelper.MakeInParam(InterfaceId,"@thumbsURL",(DbType)SqlDbType.NVarChar,2000,entity.thumbsURL),
- DbHelper.MakeInParam(InterfaceId,"@thumbsSize",(DbType)SqlDbType.NVarChar,1000,entity.thumbsSize),
- DbHelper.MakeInParam(InterfaceId,"@FileName",(DbType)SqlDbType.NVarChar,2000,entity.FileName),
- DbHelper.MakeInParam(InterfaceId,"@FilteType",(DbType)SqlDbType.NVarChar,500,entity.FilteType),
- DbHelper.MakeInParam(InterfaceId,"@FileURL",(DbType)SqlDbType.NVarChar,2000,entity.FileURL),
- DbHelper.MakeInParam(InterfaceId,"@FileSize",(DbType)SqlDbType.NVarChar,1000,entity.FileSize)
- };
- return DbHelper.ExecuteNonQuery(InterfaceId, CommandType.Text, @"UPDATE [DT_Topic] SET [Cid]=@Cid,[Title]=@Title,[Context]=@Context,
- [Status]=@Status,[LastUpDateTime]=GETDATE(),[thumbsURL]=@thumbsURL,[thumbsSize]=@thumbsSize,[FileName]=@FileName,
- [FilteType]=@FilteType,[FileURL]=@FileURL,[FileSize]=@FileSize WHERE [Tid]=@Tid", pars) > 0;
- }
- public override bool Delete(int id)
- {
- return DbHelper.ExecuteNonQuery(InterfaceId, CommandType.Text, "DELETE FROM [DT_Topic] WHERE [Tid]=" + id) > 0;
- }
- public override TopicInfo Get<TKey>(TKey key)
- {
- TopicInfo Entity = null;
- DbParameter[] para =
- {
- DbHelper.MakeInParam(InterfaceId,"@Tid",(DbType)SqlDbType.Int,4,key)
- };
- using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.Text,
- @"SELECT TOP 1 [Tid],[Cid] ,[Title],[Context],[Status],[Uid],[UserName],[Hits],[LastUpDateTime],[Addtime]
- ,[thumbsURL],[thumbsSize],[FileName],[FilteType],[FileURL],[FileSize] FROM [DT_Topic] WHERE Tid= @Tid",
- para))
- {
- if (reader.Read())
- {
- Entity = LoadEntity(reader);
- }
- reader.Dispose();
- }
- return Entity;
- }
- public override IList<TopicInfo> ToList()
- {
- IList<TopicInfo> list = new List<TopicInfo>();
- using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, @"SELECT [Tid],[Cid],[Title],[Context],[Status],[Uid],[UserName],[Hits],
- [LastUpDateTime],[Addtime],[thumbsURL],[thumbsSize],[FileName],[FilteType],[FileURL],[FileSize] FROM [DT_Topic]"))
- {
- if (null != dt && 0 < dt.Rows.Count)
- {
- foreach (DataRow dr in dt.Rows)
- { list.Add(LoadEntity(dr)); }
- }
- dt.Dispose();
- }
- return list;
- }
- public override IList<TopicInfo> ToList(TopicInfo entity)
- {
- IList<TopicInfo> list = new List<TopicInfo>();
- DbParameter[] para =
- {
- DbHelper.MakeInParam(InterfaceId,"@cid",(DbType)SqlDbType.Int,4,entity.Cid)
- };
- using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, CommandType.Text, @"SELECT [Tid],[Cid],[Title],[Context],[Status],[Uid],[UserName],[Hits],
- [LastUpDateTime],[Addtime],[thumbsURL],[thumbsSize],[FileName],[FilteType],[FileURL],[FileSize] FROM [DT_Topic] WHERE [Cid]=@cid", para))
- {
- if (null != dt && 0 < dt.Rows.Count)
- {
- foreach (DataRow dr in dt.Rows)
- { list.Add(LoadEntity(dr)); }
- }
- dt.Dispose();
- }
- return list;
- }
- public override IList<TopicInfo> ToPaging(TopicInfo entity, int pageSize, int pageIndex, out int recordCount)
- {
- string where = "1=1 ";
- if (null != entity)
- {
- if (!string.IsNullOrEmpty(entity.Title))
- where += " AND [Title] Like '%" + entity.Title + "%'";
- if (0 < entity.ParentId)
- where += " AND [Cid] IN (SELECT [Cid] FROM [DT_TopicClass] WHERE [ParentId]=" + entity.ParentId + ")";
- if (0 < entity.Cid)
- where += " AND [Cid]=" + entity.Cid;
- }
- recordCount = 0;
- string field = "[Tid],[Cid],[Title],[Context],[Status],[Uid],[UserName],[Hits],[LastUpDateTime],[Addtime],[thumbsURL],[thumbsSize],[FileName],[FilteType],[FileURL],[FileSize]"
- , orderField = "[Tid] DESC"
- , tableName = "[DT_Topic]";
- 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<TopicInfo> list = new List<TopicInfo>();
- 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<TopicInfo> ToPaging(string cids, int pageSize, int pageIndex, out int recordCount, string orderStr)
- {
- string where = "1=1 ";
- if (cids != "")
- where += " AND cid in(" + cids + ")";
- recordCount = 0;
- string field =
- "Tid, Cid, Title, Context, Status, Uid, UserName, Hits, LastUpDateTime, Addtime,thumbsURL, thumbsSize, FileName, FilteType, FileURL, FileSize"
- ,
- orderField = orderStr//"Tid DESC"
- , tableName = "[DT_Topic]";
- 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<TopicInfo> list = new List<TopicInfo>();
- 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 TopicInfo LoadEntity(DataRow dr)
- {
- TopicInfo info = new TopicInfo
- {
- Id = TypeConverter.ObjectToInt(dr["Tid"]),
- Tid = TypeConverter.ObjectToInt(dr["Tid"]),
- LastUpDateTime = TypeConverter.ObjectToDateTime(dr["LastUpDateTime"], DateTime.MinValue),
- Addtime = TypeConverter.ObjectToDateTime(dr["Addtime"], DateTime.MinValue),
- Cid = TypeConverter.ObjectToInt(dr["Cid"]),
- Title = dr["Title"].ToString(),
- Context = dr["Context"].ToString(),
- Status = TypeConverter.ObjectToInt(dr["Status"]),
- Uid = TypeConverter.ObjectToInt(dr["Uid"]),
- UserName = dr["UserName"].ToString(),
- Hits = TypeConverter.ObjectToInt(dr["Hits"]),
- thumbsURL = dr["thumbsURL"].ToString(),
- thumbsSize = dr["thumbsSize"].ToString(),
- FileName = dr["FileName"].ToString(),
- FilteType = dr["FilteType"].ToString(),
- FileURL = dr["FileURL"].ToString(),
- FileSize = dr["FileSize"].ToString(),
- };
- LoadFileInfo(ref info);
- return info;
- }
- protected override TopicInfo LoadEntity(IDataReader reader)
- {
- TopicInfo info = new TopicInfo
- {
- Id = TypeConverter.ObjectToInt(reader["Tid"]),
- Tid = TypeConverter.ObjectToInt(reader["Tid"]),
- LastUpDateTime = TypeConverter.ObjectToDateTime(reader["LastUpDateTime"], DateTime.MinValue),
- Addtime = TypeConverter.ObjectToDateTime(reader["Addtime"], DateTime.MinValue),
- Cid = TypeConverter.ObjectToInt(reader["Cid"]),
- Title = reader["Title"].ToString(),
- Context = reader["Context"].ToString(),
- Status = TypeConverter.ObjectToInt(reader["Status"]),
- Uid = TypeConverter.ObjectToInt(reader["Uid"]),
- UserName = reader["UserName"].ToString(),
- Hits = TypeConverter.ObjectToInt(reader["Hits"]),
- thumbsURL = reader["thumbsURL"].ToString(),
- thumbsSize = reader["thumbsSize"].ToString(),
- FileName = reader["FileName"].ToString(),
- FilteType = reader["FilteType"].ToString(),
- FileURL = reader["FileURL"].ToString(),
- FileSize = reader["FileSize"].ToString(),
- };
- LoadFileInfo(ref info);
- return info;
- }
- private void LoadFileInfo(ref TopicInfo info)
- {
- if (!string.IsNullOrEmpty(info.thumbsURL))
- { info.ListThumbsURL = new List<string>(info.thumbsURL.Split(';')); }
- if (!string.IsNullOrEmpty(info.thumbsSize))
- { info.ListThumbsSize = new List<string>(info.thumbsSize.Split(';')); }
- if (!string.IsNullOrEmpty(info.FileName))
- { info.ListFileName = new List<string>(info.FileName.Split(';')); }
- if (!string.IsNullOrEmpty(info.FilteType))
- { info.ListFilteType = new List<string>(info.FilteType.Split(';')); }
- if (!string.IsNullOrEmpty(info.FileURL))
- { info.ListFileURL = new List<string>(info.FileURL.Split(';')); }
- if (!string.IsNullOrEmpty(info.FileSize))
- { info.ListFileSize = new List<string>(info.FileSize.Split(';')); }
- }
- }
- }
|