RoadFlow2.1 临时演示

UsersApp.cs 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace RoadFlow.Platform
  5. {
  6. public class UsersApp
  7. {
  8. private RoadFlow.Data.Interface.IUsersApp dataUsersApp;
  9. public UsersApp()
  10. {
  11. this.dataUsersApp = Data.Factory.Factory.GetUsersApp();
  12. }
  13. /// <summary>
  14. /// 新增
  15. /// </summary>
  16. public int Add(RoadFlow.Data.Model.UsersApp model)
  17. {
  18. return dataUsersApp.Add(model);
  19. }
  20. /// <summary>
  21. /// 更新
  22. /// </summary>
  23. public int Update(RoadFlow.Data.Model.UsersApp model)
  24. {
  25. return dataUsersApp.Update(model);
  26. }
  27. /// <summary>
  28. /// 查询所有记录
  29. /// </summary>
  30. public List<RoadFlow.Data.Model.UsersApp> GetAll()
  31. {
  32. return dataUsersApp.GetAll();
  33. }
  34. /// <summary>
  35. /// 查询单条记录
  36. /// </summary>
  37. public RoadFlow.Data.Model.UsersApp Get(Guid id)
  38. {
  39. return dataUsersApp.Get(id);
  40. }
  41. /// <summary>
  42. /// 删除
  43. /// </summary>
  44. public int Delete(Guid id)
  45. {
  46. return dataUsersApp.Delete(id);
  47. }
  48. /// <summary>
  49. /// 查询记录条数
  50. /// </summary>
  51. public long GetCount()
  52. {
  53. return dataUsersApp.GetCount();
  54. }
  55. /// <summary>
  56. /// 查询所有记录
  57. /// </summary>
  58. /// <param name="fromCache">是否使用缓存</param>
  59. /// <returns></returns>
  60. public System.Data.DataTable GetAllDataTable(bool fromCache = true)
  61. {
  62. string cacheKey = RoadFlow.Utility.Keys.CacheKeys.UsersApp.ToString();
  63. if (fromCache)
  64. {
  65. object obj = RoadFlow.Cache.IO.Opation.Get(cacheKey);
  66. if (obj == null || !(obj is System.Data.DataTable))
  67. {
  68. var dt = dataUsersApp.GetAllDataTable();
  69. RoadFlow.Cache.IO.Opation.Insert(cacheKey, dt);
  70. return dt;
  71. }
  72. else
  73. {
  74. return (obj as System.Data.DataTable);
  75. }
  76. }
  77. else
  78. {
  79. return dataUsersApp.GetAllDataTable();
  80. }
  81. }
  82. /// <summary>
  83. /// 清除缓存
  84. /// </summary>
  85. public void ClearCache()
  86. {
  87. string cacheKey = RoadFlow.Utility.Keys.CacheKeys.UsersApp.ToString();
  88. RoadFlow.Cache.IO.Opation.Remove(cacheKey);
  89. }
  90. /// <summary>
  91. /// 查询个人应用
  92. /// </summary>
  93. /// <param name="userID"></param>
  94. /// <returns></returns>
  95. public System.Data.DataRow[] GetUserDataRows(Guid userID)
  96. {
  97. return GetAllDataTable().Select("UserID='" + userID.ToString() + "'");
  98. }
  99. /// <summary>
  100. /// 更新排序
  101. /// </summary>
  102. public int UpdateSort(Guid id, int sort)
  103. {
  104. return dataUsersApp.UpdateSort(id, sort);
  105. }
  106. /// <summary>
  107. /// 将个人应用加入列表
  108. /// </summary>
  109. /// <param name="userID"></param>
  110. /// <param name="parentID">上级ID</param>
  111. /// <param name="appList"></param>
  112. public void AppendUserApps(Guid userID, Guid parentID, List<RoadFlow.Data.Model.RoleApp> appList)
  113. {
  114. var userApps = GetUserDataRows(userID);
  115. foreach (var userApp in userApps)
  116. {
  117. if (userApp["ParentID"].ToString().ToGuid() == parentID)
  118. {
  119. RoadFlow.Data.Model.RoleApp app = new RoadFlow.Data.Model.RoleApp();
  120. app.ID = userApp["ID"].ToString().ToGuid();
  121. app.AppID = userApp["AppID"].ToString().ToGuid();
  122. app.Ico = userApp["Ico"].ToString();
  123. app.Params = userApp["Params"].ToString();
  124. app.ParentID = userApp["ParentID"].ToString().ToGuid();
  125. app.RoleID = userApp["RoleID"].ToString().ToGuid();
  126. app.Sort = userApp["Sort"].ToString().ToInt();
  127. app.Title = userApp["Title"].ToString();
  128. app.Type = 1;
  129. appList.Add(app);
  130. }
  131. }
  132. }
  133. /// <summary>
  134. /// 将个人应用加入表(Table)
  135. /// </summary>
  136. /// <param name="userID"></param>
  137. /// <param name="appDt"></param>
  138. public void AppendUserApps(Guid userID, System.Data.DataTable appDt)
  139. {
  140. var userApps = GetUserDataRows(userID);
  141. foreach (var userApp in userApps)
  142. {
  143. if (appDt.Select("ID='" + userApp["ID"].ToString() + "'").Length == 0)
  144. {
  145. System.Data.DataRow dr = appDt.NewRow();
  146. dr["ID"] = userApp["ID"];
  147. dr["ParentID"] = userApp["ParentID"];
  148. dr["RoleID"] = userApp["RoleID"];
  149. dr["AppID"] = userApp["AppID"];
  150. dr["Title"] = userApp["Title"];
  151. dr["Params"] = userApp["Params"];
  152. dr["Sort"] = userApp["Sort"];
  153. dr["Ico"] = userApp["Ico"];
  154. dr["Type"] = 1;
  155. dr["Address"] = userApp["Address"];
  156. dr["OpenMode"] = userApp["OpenMode"];
  157. dr["Width"] = userApp["Width"];
  158. dr["Height"] = userApp["Height"];
  159. dr["Params1"] = userApp["Params1"];
  160. dr["Manager"] = userApp["Manager"];
  161. appDt.Rows.Add(dr);
  162. }
  163. }
  164. }
  165. /// <summary>
  166. /// 是否有下级
  167. /// </summary>
  168. /// <param name="id"></param>
  169. /// <returns></returns>
  170. public bool HasChild(Guid id)
  171. {
  172. return GetAllDataTable().Select("ParentID='" + id.ToString() + "'").Length > 0;
  173. }
  174. /// <summary>
  175. /// 查询下级记录
  176. /// </summary>
  177. public List<RoadFlow.Data.Model.UsersApp> GetChilds(Guid id)
  178. {
  179. return dataUsersApp.GetChild(id);
  180. }
  181. /// <summary>
  182. /// 查询所有下级记录
  183. /// </summary>
  184. /// <param name="id"></param>
  185. /// <returns></returns>
  186. public List<RoadFlow.Data.Model.UsersApp> GetAllChilds(Guid id)
  187. {
  188. List<RoadFlow.Data.Model.UsersApp> list = new List<RoadFlow.Data.Model.UsersApp>();
  189. addChilds(id, list);
  190. return list;
  191. }
  192. private void addChilds(Guid id, List<RoadFlow.Data.Model.UsersApp> list)
  193. {
  194. var childs = GetChilds(id);
  195. foreach (var child in childs)
  196. {
  197. list.Add(child);
  198. addChilds(child.ID, list);
  199. }
  200. }
  201. /// <summary>
  202. /// 删除一个记录和所有下级记录
  203. /// </summary>
  204. /// <param name="id"></param>
  205. /// <returns></returns>
  206. public int DeleteAndAllChilds(Guid id)
  207. {
  208. int i = 0;
  209. var childs = GetAllChilds(id);
  210. using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
  211. {
  212. foreach (var child in childs)
  213. {
  214. i += Delete(child.ID);
  215. }
  216. i += Delete(id);
  217. scope.Complete();
  218. }
  219. return i;
  220. }
  221. /// <summary>
  222. /// 删除一个用户记录
  223. /// </summary>
  224. public int DeleteByUserID(Guid userID)
  225. {
  226. return dataUsersApp.DeleteByUserID(userID);
  227. }
  228. }
  229. }