using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Text; using CB.Common; using CB.Data; using CB.Entity; using CB.Interface.Infrastructure; namespace CB.Data.SqlServer { public class TrendMissItemManage : Repository, ITrendMissItemService { public TrendMissItemManage(string interfaceId) : base(interfaceId) { } public override bool Save(TrendMissItemInfo entity) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@ChartId",(DbType)SqlDbType.Int,4,entity.ChartId), DbHelper.MakeInParam(InterfaceId,"@Cycle",(DbType)SqlDbType.Int,4,entity.Cycle), DbHelper.MakeInParam(InterfaceId,"@ItemCycle",(DbType)SqlDbType.NVarChar,1000,string.Join(",",entity.ItemCycle)), DbHelper.MakeInParam(InterfaceId,"@ItemMinValue",(DbType)SqlDbType.Int,4,(int)entity.ItemMinValue), DbHelper.MakeInParam(InterfaceId,"@ItemMaxValue",(DbType)SqlDbType.Int,4,entity.ItemMaxValue), DbHelper.MakeInParam(InterfaceId,"@ItemCount",(DbType)SqlDbType.Int,4,entity.ItemCount), DbHelper.MakeInParam(InterfaceId,"@ItemString",(DbType)SqlDbType.NVarChar,1000,string.Join(",",entity.ItemString)), DbHelper.MakeInParam(InterfaceId,"@SplitNumberOfDX",(DbType)SqlDbType.Int,4,entity.SplitNumberOfDX), DbHelper.MakeInParam(InterfaceId,"@IndexStart",(DbType)SqlDbType.Int,4,entity.IndexStart), DbHelper.MakeInParam(InterfaceId,"@IndexEnd",(DbType)SqlDbType.Int,4,entity.IndexEnd), DbHelper.MakeInParam(InterfaceId,"@FuntionType",(DbType)SqlDbType.Int,4,(int)entity.FuntionType), DbHelper.MakeInParam(InterfaceId,"@ClassName",(DbType)SqlDbType.Int,4,(int)entity.ClassName) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "[usp_TrendMissItem_save]", pars)) > 0 ? true : false; } public override bool Update(TrendMissItemInfo entity) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@ChartId",(DbType)SqlDbType.Int,4,entity.ChartId), DbHelper.MakeInParam(InterfaceId,"@Cycle",(DbType)SqlDbType.Int,4,entity.Cycle), DbHelper.MakeInParam(InterfaceId,"@ItemCycle",(DbType)SqlDbType.NVarChar,1000,string.Join(",",entity.ItemCycle)), DbHelper.MakeInParam(InterfaceId,"@ItemMinValue",(DbType)SqlDbType.Int,4,(int)entity.ItemMinValue), DbHelper.MakeInParam(InterfaceId,"@ItemMaxValue",(DbType)SqlDbType.Int,4,entity.ItemMaxValue), DbHelper.MakeInParam(InterfaceId,"@ItemCount",(DbType)SqlDbType.Int,4,entity.ItemCount), DbHelper.MakeInParam(InterfaceId,"@ItemString",(DbType)SqlDbType.NVarChar,1000,string.Join(",",entity.ItemString)), DbHelper.MakeInParam(InterfaceId,"@SplitNumberOfDX",(DbType)SqlDbType.Int,4,entity.SplitNumberOfDX), DbHelper.MakeInParam(InterfaceId,"@IndexStart",(DbType)SqlDbType.Int,4,entity.IndexStart), DbHelper.MakeInParam(InterfaceId,"@IndexEnd",(DbType)SqlDbType.Int,4,entity.IndexEnd), DbHelper.MakeInParam(InterfaceId,"@FuntionType",(DbType)SqlDbType.Int,4,(int)entity.FuntionType), DbHelper.MakeInParam(InterfaceId,"@ClassName",(DbType)SqlDbType.Int,4,(int)entity.ClassName), DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,entity.Id) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "[usp_TrendMissItem_update]", pars)) > 0 ? true : false; } public override bool Delete(int id) { throw new NotImplementedException(); } public override TrendMissItemInfo Get(TKey key) { throw new NotImplementedException(); } public override IList ToList() { IList list = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("select Id, ChartId, Cycle, ItemCycle, ItemMinValue, ItemMaxValue, ItemCount, ItemString, SplitNumberOfDX, IndexStart, IndexEnd, FuntionType, ClassName "); strSql.Append(" from DT_TrendMissItem ORDER BY [Term] ASC"); using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId,strSql.ToString())) { if (null != dt && 0 < dt.Rows.Count) { foreach (DataRow dr in dt.Rows) { list.Add(LoadEntity(dr)); } } dt.Dispose(); } return list; } public override IList ToList(TrendMissItemInfo entity) { throw new NotImplementedException(); } public override IList ToPaging(TrendMissItemInfo entity, int pageSize, int pageIndex, out int recordCount) { throw new NotImplementedException(); } protected override TrendMissItemInfo LoadEntity(DataRow dr) { return null; } protected override TrendMissItemInfo LoadEntity(IDataReader reader) { return new TrendMissItemInfo { Id = TypeConverter.ObjectToInt(reader["Id"]), ChartId = TypeConverter.ObjectToInt(reader["ChartId"]), Cycle = TypeConverter.ObjectToInt(reader["Cycle"]), ItemCycle = reader["ItemCycle"].ToString().Trim().Split(','), ItemMinValue = TypeConverter.ObjectToInt(reader["ItemMinValue"]), ItemMaxValue = TypeConverter.ObjectToInt(reader["ItemMaxValue"]), ItemCount = TypeConverter.ObjectToInt(reader["ItemCount"]), ItemString = reader["ItemString"].ToString().Trim().Split(','), SplitNumberOfDX = TypeConverter.ObjectToInt(reader["SplitNumberOfDX"]), IndexStart = TypeConverter.ObjectToInt(reader["IndexStart"]), IndexEnd = TypeConverter.ObjectToInt(reader["IndexEnd"]), FuntionType = (MissItemType)Enum.Parse(typeof(MissItemType), TypeConverter.ObjectToInt(reader["FuntionType"]).ToString()), ClassName = (ChartItemClassName)Enum.Parse(typeof(ChartItemClassName), TypeConverter.ObjectToInt(reader["ClassName"]).ToString()) }; } public TrendMissItemInfo GetMissEntity(int chartId) { TrendMissItemInfo entity = null; DbParameter[] para = { DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,500,"SELECT TOP 1 Id, ChartId, Cycle, ItemCycle, ItemMinValue, ItemMaxValue, ItemCount, ItemString, SplitNumberOfDX, IndexStart, IndexEnd, FuntionType, ClassName FROM DT_TrendMissItem WHERE [ChartId]=@chartid"), DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,30,"@chartid int"), DbHelper.MakeInParam(InterfaceId,"@chartid",(DbType)SqlDbType.Int,4,chartId) }; using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", para)) { if (reader.Read()) { entity = LoadEntity(reader); } reader.Close(); } return entity; } } }