using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using CB.Common; using CB.Entity; using CB.Interface.Infrastructure; namespace CB.Data.SqlServer { public class TrendChartItemManage : Repository, ITrendChartItemService { public TrendChartItemManage(string interfaceId) : base(interfaceId) { } public override bool Save(TrendChartItemInfo entity) { DbParameter[] pars ={ DbHelper.MakeInParam(InterfaceId,"@ChartId",(DbType)SqlDbType.Int,4,entity.ChartId), DbHelper.MakeInParam(InterfaceId,"@ChartType",(DbType)SqlDbType.Int,4,(int)entity.ChartType), DbHelper.MakeInParam(InterfaceId,"@ClassName",(DbType)SqlDbType.Int,0,(int)entity.ClassName), DbHelper.MakeInParam(InterfaceId,"@ChartItemName",(DbType)SqlDbType.Char,20,entity.ChartItemName), DbHelper.MakeInParam(InterfaceId,"@Cycle",(DbType)SqlDbType.Int,4,entity.Cycle), DbHelper.MakeInParam(InterfaceId,"@ItemMinValue",(DbType)SqlDbType.Int,4,entity.ItemMinValue), DbHelper.MakeInParam(InterfaceId,"@ItemMaxValue",(DbType)SqlDbType.Int,4,entity.ItemMaxValue), DbHelper.MakeInParam(InterfaceId,"@SplitNumberOfDX",(DbType)SqlDbType.Int,4,entity.SplitNumberOfDX), DbHelper.MakeInParam(InterfaceId,"@ItemCount",(DbType)SqlDbType.Int,4,entity.ItemCount), DbHelper.MakeInParam(InterfaceId,"@ItemString",(DbType)SqlDbType.NVarChar,500,entity.ItemString.ArrayToString(',')), DbHelper.MakeInParam(InterfaceId,"@IndexStart",(DbType)SqlDbType.Int,4,entity.IndexStart), DbHelper.MakeInParam(InterfaceId,"@IndexEnd",(DbType)SqlDbType.Int,4,entity.IndexEnd), DbHelper.MakeInParam(InterfaceId,"@DrawLine",(DbType)SqlDbType.Bit,1,entity.DrawLine), DbHelper.MakeInParam(InterfaceId,"@FuntionType",(DbType)SqlDbType.Int,4,entity.FuntionType), DbHelper.MakeInParam(InterfaceId,"@ChartCssId",(DbType)SqlDbType.Int,4,entity.ChartCssId), DbHelper.MakeInParam(InterfaceId,"@OrderBy",(DbType)SqlDbType.Int,4,entity.OrderBy) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "[usp_TrendChartItem_save]", pars)) > 0; } public override bool Update(TrendChartItemInfo entity) { DbParameter[] pars ={ DbHelper.MakeInParam(InterfaceId,"@ChartId",(DbType)SqlDbType.Int,4,entity.ChartId), DbHelper.MakeInParam(InterfaceId,"@ChartType",(DbType)SqlDbType.Int,4,(int)entity.ChartType), DbHelper.MakeInParam(InterfaceId,"@ClassName",(DbType)SqlDbType.Int,0,(int)entity.ClassName), DbHelper.MakeInParam(InterfaceId,"@ChartItemName",(DbType)SqlDbType.Char,20,entity.ChartItemName), DbHelper.MakeInParam(InterfaceId,"@Cycle",(DbType)SqlDbType.Int,4,entity.Cycle), DbHelper.MakeInParam(InterfaceId,"@ItemMinValue",(DbType)SqlDbType.Int,4,entity.ItemMinValue), DbHelper.MakeInParam(InterfaceId,"@ItemMaxValue",(DbType)SqlDbType.Int,4,entity.ItemMaxValue), DbHelper.MakeInParam(InterfaceId,"@SplitNumberOfDX",(DbType)SqlDbType.Int,4,entity.SplitNumberOfDX), DbHelper.MakeInParam(InterfaceId,"@ItemCount",(DbType)SqlDbType.Int,4,entity.ItemCount), DbHelper.MakeInParam(InterfaceId,"@ItemString",(DbType)SqlDbType.NVarChar,500,entity.ItemString.ArrayToString(',')), DbHelper.MakeInParam(InterfaceId,"@IndexStart",(DbType)SqlDbType.Int,4,entity.IndexStart), DbHelper.MakeInParam(InterfaceId,"@IndexEnd",(DbType)SqlDbType.Int,4,entity.IndexEnd), DbHelper.MakeInParam(InterfaceId,"@DrawLine",(DbType)SqlDbType.Bit,1,entity.DrawLine), DbHelper.MakeInParam(InterfaceId,"@FuntionType",(DbType)SqlDbType.Int,4,entity.FuntionType), DbHelper.MakeInParam(InterfaceId,"@ChartCssId",(DbType)SqlDbType.Int,4,entity.ChartCssId), DbHelper.MakeInParam(InterfaceId,"@OrderBy",(DbType)SqlDbType.Int,4,entity.OrderBy), DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,entity.Id) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "[usp_TrendChartItem_update]", pars)) > 0; } public override bool Delete(int Id) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,50,"DELETE FROM [DT_TrendChartItem] 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 TrendChartItemInfo Get(TKey key) { TrendChartItemInfo Entity = null; DbParameter[] para = { DbHelper.MakeInParam(InterfaceId,"@id",(DbType)SqlDbType.Int,4,key) }; using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.Text, "SELECT [Id],[ChartId],[ChartType],[ClassName],[ChartItemName],[Cycle],[ItemMinValue],[ItemMaxValue],[SplitNumberOfDX],[ItemCount],[ItemString],[IndexStart],[IndexEnd],[DrawLine],[FuntionType],[ChartCssId],[OrderBy] FROM [DT_TrendChartItem] WHERE id= @id", para)) { if (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],[ChartId],[ChartType],[ClassName],[ChartItemName],[Cycle],[ItemMinValue],[ItemMaxValue],[SplitNumberOfDX],[ItemCount],[ItemString],[IndexStart],[IndexEnd],[DrawLine],[FuntionType],[ChartCssId],[OrderBy] FROM [DT_TrendChartItem] ORDER BY [OrderBy] ASC")) { while (reader.Read()) { list.Add(LoadEntity(reader)); } } return list; } public override IList ToList(TrendChartItemInfo entity) { string sql = "SELECT [Id],[ChartId],[ChartType],[ClassName],[ChartItemName],[Cycle],[ItemMinValue],[ItemMaxValue],[SplitNumberOfDX],[ItemCount],[ItemString],[IndexStart],[IndexEnd],[DrawLine],[FuntionType],[ChartCssId],[OrderBy] FROM [DT_TrendChartItem] WHERE 1=1 "; if (0 < entity.ChartId) { sql += " AND [ChartId]=" + entity.ChartId; } sql += " ORDER BY [OrderBy] ASC"; IList list = new List(); using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.Text, sql)) { while (reader.Read()) { list.Add(LoadEntity(reader)); } } return list; } public override IList ToPaging(TrendChartItemInfo entity, int pageSize, int pageIndex, out int recordCount) { throw new NotImplementedException(); } protected override TrendChartItemInfo LoadEntity(IDataReader reader) { return new TrendChartItemInfo { Id = TypeConverter.ObjectToInt(reader["Id"]), ChartId = TypeConverter.ObjectToInt(reader["ChartId"]), ChartType = (TrendChartType)Enum.Parse(typeof(TrendChartType), reader["ChartType"].ToString()), ClassName = (ChartItemClassName)Enum.Parse(typeof(ChartItemClassName), reader["ClassName"].ToString()), ChartItemName = reader["ChartItemName"].ToString().Trim(), Cycle = TypeConverter.ObjectToInt(reader["Cycle"]), ItemMinValue = TypeConverter.ObjectToInt(reader["ItemMinValue"]), ItemMaxValue = TypeConverter.ObjectToInt(reader["ItemMaxValue"]), SplitNumberOfDX = TypeConverter.ObjectToInt(reader["SplitNumberOfDX"]), ItemCount = TypeConverter.ObjectToInt(reader["ItemCount"]), ItemString = reader["ItemString"].ToString().Trim().Split(','), IndexStart = TypeConverter.ObjectToInt(reader["IndexStart"]), IndexEnd = TypeConverter.ObjectToInt(reader["IndexEnd"]), DrawLine = TypeConverter.ObjectToBool(reader["DrawLine"], false), FuntionType = (ChartItemType)Enum.Parse(typeof(ChartItemType), reader["FuntionType"].ToString()), ChartCssId = TypeConverter.ObjectToInt(reader["ChartCssId"]), OrderBy = TypeConverter.ObjectToInt(reader["OrderBy"]) }; } protected override TrendChartItemInfo LoadEntity(DataRow dr) { return new TrendChartItemInfo { Id = TypeConverter.ObjectToInt(dr["Id"]), ChartId = TypeConverter.ObjectToInt(dr["ChartId"]), ChartType = (TrendChartType)Enum.Parse(typeof(TrendChartType), dr["ChartType"].ToString()), ClassName = (ChartItemClassName)Enum.Parse(typeof(ChartItemClassName), dr["ClassName"].ToString()), ChartItemName = dr["ChartItemName"].ToString().Trim(), Cycle = TypeConverter.ObjectToInt(dr["Cycle"]), ItemMinValue = TypeConverter.ObjectToInt(dr["ItemMinValue"]), ItemMaxValue = TypeConverter.ObjectToInt(dr["ItemMaxValue"]), SplitNumberOfDX = TypeConverter.ObjectToInt(dr["SplitNumberOfDX"]), ItemCount = TypeConverter.ObjectToInt(dr["ItemCount"]), ItemString = dr["ItemString"].ToString().Trim().Split(','), IndexStart = TypeConverter.ObjectToInt(dr["IndexStart"]), IndexEnd = TypeConverter.ObjectToInt(dr["IndexEnd"]), DrawLine = TypeConverter.ObjectToBool(dr["DrawLine"], false), FuntionType = (ChartItemType)Enum.Parse(typeof(ChartItemType), dr["ItemType"].ToString()), ChartCssId = TypeConverter.ObjectToInt(dr["ChartCssId"]), OrderBy = TypeConverter.ObjectToInt(dr["OrderBy"]) }; } public bool DeleteList(int chartId) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,80,"DELETE FROM [DT_TrendChartItem] WHERE [ChartId]=@chartId"), DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,20,"@chartId int"), DbHelper.MakeInParam(InterfaceId,"@chartId",(DbType)SqlDbType.Int,4,chartId) }; return DbHelper.ExecuteNonQuery(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false; } } }