using System; using System.Collections.Generic; using System.Linq; using System.Text; using CB.Interface.Infrastructure; using CB.Entity; using System.Data.Common; using System.Data; using CB.Common; namespace CB.Data.SqlServer { public class ColumnManage : Repository, IColumnService { public ColumnManage(string interfaceId) : base(interfaceId) { } public override bool Save(ColumnInfo entity) { DbParameter[] para = { DbHelper.MakeInParam(InterfaceId,"@Name",(DbType)SqlDbType.NChar,20,entity.Name), DbHelper.MakeInParam(InterfaceId,"@RewriteUrl",(DbType)SqlDbType.Char,20,entity.RewriteUrl), DbHelper.MakeInParam(InterfaceId,"@Logo",(DbType)SqlDbType.VarChar,200,entity.Logo), DbHelper.MakeInParam(InterfaceId,"@Lottery",(DbType)SqlDbType.Char,10,entity.Lottery), DbHelper.MakeInParam(InterfaceId,"@TypeName",(DbType)SqlDbType.Char,10,entity.TypeName), DbHelper.MakeInParam(InterfaceId,"@Status",(DbType)SqlDbType.Int,4,entity.Status), DbHelper.MakeInParam(InterfaceId,"@Words",(DbType)SqlDbType.NVarChar,50,entity.Words), DbHelper.MakeInParam(InterfaceId,"@About",(DbType)SqlDbType.NVarChar,200,entity.About), DbHelper.MakeInParam(InterfaceId,"@hTitle",(DbType)SqlDbType.NVarChar,500,entity.hTitle), DbHelper.MakeInParam(InterfaceId,"@hKeywords",(DbType)SqlDbType.NVarChar,500,entity.hKeywords), DbHelper.MakeInParam(InterfaceId,"@hDescription",(DbType)SqlDbType.NVarChar,500,entity.hDescription) }; return 0 < DbHelper.ExecuteNonQuery(InterfaceId, CommandType.Text, @"INSERT INTO [dbo].[ZT_Column]([Name],[RewriteUrl],[Logo],[Lottery],[TypeName],[Status],[Words],[About],[hTitle],[hKeywords],[hDescription],[Addtime]) VALUES(@Name,@RewriteUrl,@Logo,@Lottery,@TypeName,@Status,@Words,@About,@hTitle,@hKeywords,@hDescription,GETDATE())", para); } public override bool Update(ColumnInfo entity) { DbParameter[] para = { DbHelper.MakeInParam(InterfaceId,"@id",(DbType)SqlDbType.Int,4,entity.Id), DbHelper.MakeInParam(InterfaceId,"@Name",(DbType)SqlDbType.NChar,20,entity.Name), DbHelper.MakeInParam(InterfaceId,"@RewriteUrl",(DbType)SqlDbType.Char,20,entity.RewriteUrl), DbHelper.MakeInParam(InterfaceId,"@Logo",(DbType)SqlDbType.VarChar,200,entity.Logo), DbHelper.MakeInParam(InterfaceId,"@Lottery",(DbType)SqlDbType.Char,10,entity.Lottery), DbHelper.MakeInParam(InterfaceId,"@TypeName",(DbType)SqlDbType.Char,10,entity.TypeName), DbHelper.MakeInParam(InterfaceId,"@Status",(DbType)SqlDbType.Int,4,entity.Status), DbHelper.MakeInParam(InterfaceId,"@Words",(DbType)SqlDbType.NVarChar,50,entity.Words), DbHelper.MakeInParam(InterfaceId,"@About",(DbType)SqlDbType.NVarChar,200,entity.About), DbHelper.MakeInParam(InterfaceId,"@hTitle",(DbType)SqlDbType.NVarChar,500,entity.hTitle), DbHelper.MakeInParam(InterfaceId,"@hKeywords",(DbType)SqlDbType.NVarChar,500,entity.hKeywords), DbHelper.MakeInParam(InterfaceId,"@hDescription",(DbType)SqlDbType.NVarChar,500,entity.hDescription) }; return 0 < DbHelper.ExecuteNonQuery(InterfaceId, CommandType.Text, @"UPDATE [dbo].[ZT_Column] SET [Name]=@Name,[RewriteUrl]=@RewriteUrl,[Logo]=@Logo,[Lottery]=@Lottery,[TypeName]=@TypeName,[Status]=@Status,[Words]=@Words,[About]=@About,[hTitle]=@hTitle,[hKeywords]=@hKeywords,[hDescription]=@hDescription WHERE [Id]=@id", para); } public override bool Delete(int Id) { DbParameter[] para = { DbHelper.MakeInParam(InterfaceId,"@id",(DbType)SqlDbType.Int,4,Id) }; return 0 < DbHelper.ExecuteNonQuery(InterfaceId, CommandType.Text, "DELETE FROM dbo.[ZT_Column] WHERE [Id]=@id", para); } public override ColumnInfo Get(TKey key) { ColumnInfo entity = null; DbParameter[] para = { DbHelper.MakeInParam(InterfaceId,"@id",(DbType)SqlDbType.Int,4,key) }; using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.Text, "SELECT [Id],[Name],[RewriteUrl],[Logo],[Lottery],[TypeName],[Status],[Words],[About],[hTitle],[hKeywords],[hDescription],[Addtime] FROM [dbo].[ZT_Column] WHERE [Id]=@id", para)) { while (reader.Read()) { entity = LoadEntity(reader); } } return entity; } public override IList ToList() { IList list = new List(); using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.Text, "SELECT [Id],[Name],[RewriteUrl],[Logo],[Lottery],[TypeName],[Status],[Words],[About],[hTitle],[hKeywords],[hDescription],[Addtime] FROM [dbo].[ZT_Column]")) { while (reader.Read()) { list.Add(LoadEntity(reader)); } } return list; } public override IList ToList(ColumnInfo entity) { throw new NotImplementedException(); } public override IList ToPaging(ColumnInfo entity, int pageSize, int pageIndex, out int recordCount) { string where = "1=1"; if (null != entity) { if (!string.IsNullOrEmpty(entity.Name)) { where += " AND [Name] LIKE '%" + entity.Name + "%'"; } if (!string.IsNullOrEmpty(entity.Lottery)) { where += " AND [Lottery]='" + entity.Lottery + "'"; } if (!string.IsNullOrEmpty(entity.TypeName)) { where += " AND [TypeName]='" + entity.TypeName + "'"; } } recordCount = 0; string field = "[Id],[Name],[RewriteUrl],[Logo],[Lottery],[TypeName],[Status],[Words],[About],[hTitle],[hKeywords],[hDescription],[Addtime]" , orderField = "[Id] DESC" , tableName = "[ZT_Column]"; 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 ColumnInfo LoadEntity(IDataReader reader) { return new ColumnInfo { Id = TypeConverter.ObjectToInt(reader["Id"]), Name = reader["Name"].ToString().Trim(), RewriteUrl = reader["RewriteUrl"].ToString().Trim(), Logo = reader["Logo"].ToString().Trim(), Lottery = reader["lottery"].ToString().Trim(), TypeName = reader["TypeName"].ToString().Trim(), Status = TypeConverter.ObjectToInt(reader["Status"]), Words = reader["Words"].ToString().Trim(), About = reader["About"].ToString().Trim(), hTitle = reader["hTitle"].ToString().Trim(), hKeywords = reader["hKeywords"].ToString().Trim(), hDescription = reader["hDescription"].ToString().Trim(), Addtime = TypeConverter.ObjectToDateTime(reader["Addtime"], DateTime.MinValue) }; } protected override ColumnInfo LoadEntity(DataRow reader) { return new ColumnInfo { Id = TypeConverter.ObjectToInt(reader["Id"]), Name = reader["Name"].ToString().Trim(), RewriteUrl = reader["RewriteUrl"].ToString().Trim(), Logo = reader["Logo"].ToString().Trim(), Lottery = reader["lottery"].ToString().Trim(), TypeName = reader["TypeName"].ToString().Trim(), Status = TypeConverter.ObjectToInt(reader["Status"]), Words = reader["Words"].ToString().Trim(), About = reader["About"].ToString().Trim(), hTitle = reader["hTitle"].ToString().Trim(), hKeywords = reader["hKeywords"].ToString().Trim(), hDescription = reader["hDescription"].ToString().Trim(), Addtime = TypeConverter.ObjectToDateTime(reader["Addtime"], DateTime.MinValue) }; } } }