using System; using CB.Interface; using CB.Entity; using System.Data.SqlClient; using System.Data; using System.Collections.Generic; using CB.Common; namespace CB.Data.SqlServer { class TrendToolItemConfigManage : Repository, ITrendToolItemConfigService { public TrendToolItemConfigManage(string interfaceId) : base(interfaceId) { } public override bool Save(TrendToolItemConfigInfo entity) { SqlParameter[] para = new SqlParameter[] { new SqlParameter("@ItemID",entity.ItemID) ,new SqlParameter("@configID",entity.ConfigID) ,new SqlParameter("@FilterCode",entity.FilterCode) ,new SqlParameter("@SpecialCode",entity.SpecialCode) ,new SqlParameter("@FilterCodeGroup",entity.FilterCodeGroup) ,new SqlParameter("@FilterRemark",entity.FilterRemark) ,new SqlParameter("@LineCount",entity.LineCount) ,new SqlParameter("@NameControl",entity.NameControl) ,new SqlParameter("@IsControlArea",entity.IsControlArea) ,new SqlParameter("@ControlArea",entity.ControlArea) ,new SqlParameter("@ElementName",entity.ElementName) ,new SqlParameter("@ElementType",entity.ElementType) ,new SqlParameter("@ElementValue",entity.ElementValue) ,new SqlParameter("@ElementCount",entity.ElementCount) ,new SqlParameter("@IsCheckeds",entity.IsCheckeds) ,new SqlParameter("@AttrOther",entity.AttrOther) ,new SqlParameter("@HasLabel",entity.HasLabel) ,new SqlParameter("@LabelValue",entity.LabelValue) ,new SqlParameter("@CreateTime",entity.CreateTime) ,new SqlParameter("@LastUpdate",entity.LastUpdate) ,new SqlParameter("@ItemOrder",entity.ItemOrder) ,new SqlParameter("@Status",entity.Status) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "usp_TrendToolItemConfig_update", para)) > 0 ? true : false; } public override bool Update(TrendToolItemConfigInfo entity) { SqlParameter[] para = new SqlParameter[] { new SqlParameter("@ItemID",entity.ItemID) ,new SqlParameter("@configID",entity.ConfigID) ,new SqlParameter("@FilterCode",entity.FilterCode) ,new SqlParameter("@SpecialCode",entity.SpecialCode) ,new SqlParameter("@FilterCodeGroup",entity.FilterCodeGroup) ,new SqlParameter("@FilterRemark",entity.FilterRemark) ,new SqlParameter("@LineCount",entity.LineCount) ,new SqlParameter("@NameControl",entity.NameControl) ,new SqlParameter("@IsControlArea",entity.IsControlArea) ,new SqlParameter("@ControlArea",entity.ControlArea) ,new SqlParameter("@ElementName",entity.ElementName) ,new SqlParameter("@ElementType",entity.ElementType) ,new SqlParameter("@ElementValue",entity.ElementValue) ,new SqlParameter("@ElementCount",entity.ElementCount) ,new SqlParameter("@IsCheckeds",entity.IsCheckeds) ,new SqlParameter("@AttrOther",entity.AttrOther) ,new SqlParameter("@HasLabel",entity.HasLabel) ,new SqlParameter("@LabelValue",entity.LabelValue) ,new SqlParameter("@CreateTime",entity.CreateTime) ,new SqlParameter("@LastUpdate",entity.LastUpdate) ,new SqlParameter("@ItemOrder",entity.ItemOrder) ,new SqlParameter("@Status",entity.Status) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "usp_TrendToolItemConfig_update", para)) > 0 ? true : false; } public override bool Delete(int Id) { SqlParameter[] para = new SqlParameter[] { new SqlParameter("@ItemID",Id) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "usp_TrendToolItemConfig_del", para)) > 0 ? true : false; } public override TrendToolItemConfigInfo Get(TKey key) { SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ItemID", key) }; using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId,CommandType.StoredProcedure, "usp_TrendToolItemConfig_Select", parameters)) { TrendToolItemConfigInfo list = new TrendToolItemConfigInfo(); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; list = LoadEntity(dr); } return list; } } public override IList ToList() { throw new NotImplementedException(); } /// /// 获取工具对应每项的明细信息 /// /// /// public override IList ToList(TrendToolItemConfigInfo entity) { SqlParameter[] parameters = { new SqlParameter("@ConfigID", entity.ConfigID) }; using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId,CommandType.StoredProcedure, "usp_TrendToolItemConfig_List_Select", parameters)) { List lists = new List(); for (int i = 0; i < dt.Rows.Count; i++) { lists.Add(LoadEntity(dt.Rows[i])); } return lists; } } public override IList ToPaging(TrendToolItemConfigInfo entity, int pageSize, int pageIndex, out int recordCount) { throw new NotImplementedException(); } /// /// 获取过滤器的name列表 /// /// /// public TrendToolFilterName GetToolFilterName(int ConfigID) { SqlParameter[] parameters = { new SqlParameter("@ConfigID", ConfigID) }; using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId,CommandType.StoredProcedure, "usp_TrendToolFilterName_Select", parameters)) { TrendToolFilterName filter = LoadFilterEntity(dt); return filter; } } /// /// 将数据转换成TrendToolItemConfigInfo对象 /// /// /// protected override TrendToolItemConfigInfo LoadEntity(DataRow dr) { return new TrendToolItemConfigInfo { Id = TypeConverter.ObjectToInt(dr["ItemID"]), ItemID = TypeConverter.ObjectToInt(dr["ItemID"]), ConfigID = TypeConverter.ObjectToInt(dr["ConfigID"]), FilterCode = dr["FilterCode"].ToString(), SpecialCode = dr["SpecialCode"].ToString(), FilterCodeGroup = dr["FilterCodeGroup"].ToString(), FilterRemark = dr["FilterRemark"].ToString(), LineCount = TypeConverter.ObjectToInt(dr["LineCount"]), NameControl = TypeConverter.ObjectToBool(dr["NameControl"], false), IsControlArea = TypeConverter.ObjectToBool(dr["IsControlArea"], false), ControlArea = dr["ControlArea"].ToString(), ElementName = dr["ElementName"].ToString(), ElementType = dr["ElementType"].ToString(), ElementValue = dr["ElementValue"].ToString(), ElementCount = TypeConverter.ObjectToInt(dr["ElementCount"]), IsCheckeds = dr["IsCheckeds"].ToString(), AttrOther = dr["AttrOther"].ToString(), HasLabel = TypeConverter.ObjectToBool(dr["HasLabel"], false), LabelValue = dr["LabelValue"].ToString(), CreateTime = TypeConverter.ObjectToDateTime(dr["CreateTime"]), LastUpdate = TypeConverter.ObjectToDateTime(dr["LastUpdate"]), ItemOrder = TypeConverter.ObjectToInt(dr["ItemOrder"]), Status = TypeConverter.ObjectToBool(dr["Status"], false), }; } /// /// 将数据转换成TrendToolFilterName对象 /// /// /// private TrendToolFilterName LoadFilterEntity(DataTable dt) { TrendToolFilterName fn = new TrendToolFilterName(); List contents = new List(); for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = dt.Rows[i]; Filter filter = new Filter(); filter.FilterCode = dr["FilterCode"].ToString(); filter.FilterName = ToolUtility.FilterNamePrefix + dr["ItemID"].ToString(); filter.IsControlArea = dr["IsControlArea"] != null ? TypeConverter.ObjectToBool(dr["IsControlArea"], false) : false; if (filter.IsControlArea) filter.ControlArea = dr["ControlArea"].ToString(); filter.SpecialCode = dr["SpecialCode"].ToString().ToLower(); if (filter.FilterCode.ToLower().Trim() == "header") fn.FilterHeader = filter; else if (filter.FilterCode.ToLower().Trim() == "content") contents.Add(filter); } fn.FilterContent = contents; return fn; } } }