using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using CB.Cache; using CB.Common; using CB.Entity; using CB.Interface.Infrastructure; namespace CB.Data.SqlServer { public class ChartCssConfigManage : Repository, IChartCssConfigService { public ChartCssConfigManage(string interfaceId) : base(interfaceId) { } public override bool Save(ChartCssConfigInfo entity) { DbParameter[] pars ={ DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,entity.Id), DbHelper.MakeInParam(InterfaceId,"@Name",(DbType)SqlDbType.NVarChar,50,entity.Name), DbHelper.MakeInParam(InterfaceId,"@FuntionTypeCss",(DbType)SqlDbType.Int,4,entity.FuntionTypeCss), DbHelper.MakeInParam(InterfaceId,"@ParentId",(DbType)SqlDbType.Int,4,entity.ParentId), DbHelper.MakeInParam(InterfaceId,"@startNum",(DbType)SqlDbType.Int,4,entity.startNum), DbHelper.MakeInParam(InterfaceId,"@endNum",(DbType)SqlDbType.Int,4,entity.endNum), DbHelper.MakeInParam(InterfaceId,"@MissCssName",(DbType)SqlDbType.NVarChar,50,entity.MissCssName), DbHelper.MakeInParam(InterfaceId,"@NumberCssName",(DbType)SqlDbType.NVarChar,50,entity.NumberCssName), DbHelper.MakeInParam(InterfaceId,"@DataAnalysisCssName",(DbType)SqlDbType.NVarChar,50,entity.DataAnalysisCssName), DbHelper.MakeInParam(InterfaceId,"@DataAnalysisImgName",(DbType)SqlDbType.NVarChar,50,entity.DataAnalysisImgName), DbHelper.MakeInParam(InterfaceId,"@LineColor",(DbType)SqlDbType.NVarChar,50,entity.LineColor), DbHelper.MakeInParam(InterfaceId,"@Extend1",(DbType)SqlDbType.NVarChar,50,entity.Extend1 ), DbHelper.MakeInParam(InterfaceId,"@Extend2",(DbType)SqlDbType.NVarChar,50,entity.Extend2), DbHelper.MakeInParam(InterfaceId,"@Extend3",(DbType)SqlDbType.NVarChar,50,entity.Extend3), DbHelper.MakeInParam(InterfaceId,"@Extend4",(DbType)SqlDbType.NVarChar,50,entity.Extend4), DbHelper.MakeInParam(InterfaceId,"@Extend5",(DbType)SqlDbType.NVarChar,50,entity.Extend5), DbHelper.MakeInParam(InterfaceId,"@Descript",(DbType)SqlDbType.NVarChar,500,entity.Descript) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.StoredProcedure, "[usp_DT_ChartCssConfig_save]", pars)) > 0; } public override bool Update(ChartCssConfigInfo entity) { throw new NotImplementedException(); } public override bool Delete(int Id) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,50,"DELETE FROM [DT_ChartCssConfig] WHERE [Id]=@Id"), DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@Id int"), DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,Id) }; return DbHelper.ExecuteNonQuery(InterfaceId, CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false; } public override ChartCssConfigInfo Get(TKey key) { throw new NotImplementedException(); } public override IList ToList() { IList list = new List(); using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.Text, "SELECT [ID],[Name],[FuntionTypeCss],[ParentId],[startNum],[endNum],[MissCssName],[NumberCssName],[LineColor],[DataAnalysisCssName],[DataAnalysisImgName],[Extend1],[Extend2],[Extend3],[Extend4],[Extend5],[Descript] FROM [DT_ChartCssConfig]")) { while (reader.Read()) { list.Add(LoadEntity(reader)); } reader.Dispose(); } return list; } public override IList ToList(ChartCssConfigInfo entity) { throw new NotImplementedException(); } public override IList ToPaging(ChartCssConfigInfo entity, int pageSize, int pageIndex, out int recordCount) { string where = "1=1 "; if (null != entity) { if (entity.Name != "") where += " AND [Name] Like '%" + entity.Name + "%'"; } recordCount = 0; string field = "[ID],[Name],[FuntionTypeCss],[ParentId],[startNum],[endNum],[MissCssName],[NumberCssName],[LineColor],[DataAnalysisCssName],[DataAnalysisImgName],[Extend1],[Extend2],[Extend3],[Extend4],[Extend5],[Descript]" , orderField = "ID Asc" , tableName = "DT_ChartCssConfig"; 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 ChartCssConfigInfo LoadEntity(DataRow dr) { ChartCssConfigInfo entity = new ChartCssConfigInfo { Id = TypeConverter.ObjectToInt(dr["ID"]), Extend1 = dr["Extend1"].ToString(), Extend2 = dr["Extend2"].ToString(), Extend3 = dr["Extend3"].ToString(), Extend4 = dr["Extend4"].ToString(), Extend5 = dr["Extend5"].ToString(), Descript = dr["Descript"].ToString(), Name = dr["Name"].ToString(), FuntionTypeCss = TypeConverter.ObjectToInt(dr["FuntionTypeCss"]), ParentId = TypeConverter.ObjectToInt(dr["ParentId"]), startNum = TypeConverter.ObjectToInt(dr["startNum"]), endNum = TypeConverter.ObjectToInt(dr["endNum"]), MissCssName = dr["MissCssName"].ToString(), NumberCssName = dr["NumberCssName"].ToString(), LineColor = dr["LineColor"].ToString(), DataAnalysisCssName = dr["DataAnalysisCssName"].ToString(), DataAnalysisImgName = dr["DataAnalysisImgName"].ToString() }; if (entity.ParentId == 0) //0表示有子样式 { entity.ChildList = GetChild(entity.ParentId, entity.Id); } return entity; } protected override ChartCssConfigInfo LoadEntity(IDataReader reader) { ChartCssConfigInfo entity = new ChartCssConfigInfo { Id = TypeConverter.ObjectToInt(reader["ID"]), Extend1 = reader["Extend1"].ToString(), Extend2 = reader["Extend2"].ToString(), Extend3 = reader["Extend3"].ToString(), Extend4 = reader["Extend4"].ToString(), Extend5 = reader["Extend5"].ToString(), Descript = reader["Descript"].ToString(), Name = reader["Name"].ToString(), FuntionTypeCss = TypeConverter.ObjectToInt(reader["FuntionTypeCss"]), ParentId = TypeConverter.ObjectToInt(reader["ParentId"]), startNum = TypeConverter.ObjectToInt(reader["startNum"]), endNum = TypeConverter.ObjectToInt(reader["endNum"]), MissCssName = reader["MissCssName"].ToString(), NumberCssName = reader["NumberCssName"].ToString(), LineColor = reader["LineColor"].ToString(), DataAnalysisCssName = reader["DataAnalysisCssName"].ToString(), DataAnalysisImgName = reader["DataAnalysisImgName"].ToString() }; if (entity.ParentId == 0) //0表示有子样式 { entity.ChildList = GetChild(entity.ParentId, entity.Id); } return entity; } protected List GetChild(int ParentId, int Id) { if (ParentId == 0) { List list = CBCache.GetCacheService().GetObject("ChartCssConfigInfo_Cache_Key") as List;//new List(); if (list == null) { list = new List(); DbParameter[] pars ={ DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,Id)}; using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.Text, "SELECT [ID],[Name],[FuntionTypeCss],[ParentId],[startNum],[endNum],[MissCssName],[NumberCssName],[LineColor],[DataAnalysisCssName],[DataAnalysisImgName],[Extend1],[Extend2],[Extend3],[Extend4],[Extend5],[Descript] FROM [DT_ChartCssConfig] Where ParentId=@Id order by startNum", pars)) { while (reader.Read()) { list.Add(LoadEntity(reader)); } reader.Dispose(); } if (list.Count > 0) { CBCache.GetCacheService().AddObject("ChartCssConfigInfo_Cache_Key", list, 1 * 60 * 60); return list; } } } return null; } } }