AreaManage.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using CB.Entity;
  6. using CB.Interface.Infrastructure;
  7. using CB.Data;
  8. using System.Data.Common;
  9. using System.Data;
  10. using CB.Common;
  11. namespace CB.Data.SqlServer
  12. {
  13. public class AreaManage : Repository<AreaInfo>, IAreaService
  14. {
  15. public AreaManage(string interfaceId)
  16. : base(interfaceId)
  17. {
  18. }
  19. public override bool Save(AreaInfo entity)
  20. {
  21. DbParameter[] pars ={
  22. DbHelper.MakeInParam(InterfaceId,"@aid",(DbType)SqlDbType.Int,4,entity.Aid),
  23. DbHelper.MakeInParam(InterfaceId,"@Name",(DbType)SqlDbType.NVarChar,100,entity.Name),
  24. DbHelper.MakeInParam(InterfaceId,"@pid",(DbType)SqlDbType.Int,4,entity.ParentId),
  25. DbHelper.MakeInParam(InterfaceId,"@areaid",(DbType)SqlDbType.Int,4,(int)entity.Depth),
  26. };
  27. return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "usp_Area_save", pars)) > 0;
  28. }
  29. public override bool Update(AreaInfo entity)
  30. {
  31. throw new NotImplementedException();
  32. }
  33. public override bool Delete(int id)
  34. {
  35. DbParameter[] pars ={
  36. DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,id)
  37. };
  38. return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "usp_Area_Delete", pars)) > 0;
  39. }
  40. public override AreaInfo Get<TKey>(TKey key)
  41. {
  42. AreaInfo Entity = null;
  43. DbParameter[] para =
  44. {
  45. DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,key)
  46. };
  47. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.Text,
  48. "Select TOP 1 [Aid],[Name],[ParentId],[Depth] From [DT_Area] WHERE Aid= @Id", para))
  49. {
  50. if (reader.Read())
  51. {
  52. Entity = LoadEntity(reader);
  53. }
  54. reader.Dispose();
  55. }
  56. return Entity;
  57. }
  58. public override IList<AreaInfo> ToList()
  59. {
  60. IList<AreaInfo> list = new List<AreaInfo>();
  61. using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, "SELECT [Aid],[Name],[ParentId],[Depth] FROM [DT_Area] ORDER BY Aid ASC"))
  62. {
  63. if (null != dt && 0 < dt.Rows.Count)
  64. {
  65. foreach (DataRow dr in dt.Rows)
  66. { list.Add(LoadEntity(dr)); }
  67. }
  68. dt.Dispose();
  69. }
  70. return list;
  71. }
  72. public override IList<AreaInfo> ToList(AreaInfo entity)
  73. {
  74. IList<AreaInfo> list = new List<AreaInfo>();
  75. using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, "SELECT [Aid],[Name],[ParentId],[Depth] FROM [DT_Area] ORDER BY Aid ASC"))
  76. {
  77. if (null != dt && 0 < dt.Rows.Count)
  78. {
  79. foreach (DataRow dr in dt.Rows)
  80. { list.Add(LoadEntity(dr)); }
  81. }
  82. dt.Dispose();
  83. }
  84. return list;
  85. }
  86. public override IList<AreaInfo> ToPaging(AreaInfo entity, int pageSize, int pageIndex, out int recordCount)
  87. {
  88. string where = "1=1 ";
  89. if (!string.IsNullOrEmpty(entity.Name))
  90. {
  91. where += "and [Name] like '%" + entity.Name + "%'";
  92. }
  93. recordCount = 0;
  94. string field = "[Aid],[Name],[ParentId],[Depth]"
  95. , orderField = "Aid"
  96. , tableName = "DT_Area";
  97. DbParameter[] para =
  98. {
  99. DbHelper.MakeInParam(InterfaceId,"@pageSize",(DbType)SqlDbType.Int,4,pageSize),
  100. DbHelper.MakeInParam(InterfaceId,"@page",(DbType)SqlDbType.Int,4,pageIndex),
  101. DbHelper.MakeInParam(InterfaceId,"@tableName",(DbType)SqlDbType.NVarChar,500,tableName),
  102. DbHelper.MakeInParam(InterfaceId,"@field",(DbType)SqlDbType.NVarChar,1000,field),
  103. DbHelper.MakeInParam(InterfaceId,"@orderField",(DbType)SqlDbType.NVarChar,50,orderField),
  104. DbHelper.MakeInParam(InterfaceId,"@where",(DbType)SqlDbType.NVarChar,2000,where)
  105. };
  106. IList<AreaInfo> list = new List<AreaInfo>();
  107. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "usp_st_page", para))
  108. {
  109. while (reader.Read())
  110. {
  111. list.Add(LoadEntity(reader));
  112. }
  113. if (reader.NextResult() && reader.Read())
  114. {
  115. recordCount = reader.GetInt32(0);
  116. }
  117. reader.Dispose();
  118. }
  119. return list;
  120. }
  121. protected override AreaInfo LoadEntity(IDataReader reader)
  122. {
  123. AreaInfo entity = new AreaInfo
  124. {
  125. Aid = Convert.ToInt32(reader["Aid"]),
  126. Name = reader["Name"].ToString().Trim(),
  127. ParentId = TypeConverter.ObjectToInt(reader["ParentId"]),
  128. Depth = (AreaType)Enum.Parse(typeof(AreaType), reader["Depth"].ToString())
  129. };
  130. return entity;
  131. }
  132. protected override AreaInfo LoadEntity(DataRow reader)
  133. {
  134. AreaInfo entity = new AreaInfo
  135. {
  136. Aid = Convert.ToInt32(reader["Aid"]),
  137. Name = reader["Name"].ToString().Trim(),
  138. ParentId = TypeConverter.ObjectToInt(reader["ParentId"]),
  139. Depth = (AreaType)Enum.Parse(typeof(AreaType), reader["Depth"].ToString())
  140. };
  141. return entity;
  142. }
  143. }
  144. }