DataBaseLinkController.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. using LeaRun.Application.Busines.SystemManage;
  2. using LeaRun.Application.Code;
  3. using LeaRun.Application.Entity.SystemManage;
  4. using LeaRun.Util;
  5. using LeaRun.Util.WebControl;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Web.Mvc;
  9. namespace LeaRun.Application.Web.Areas.SystemManage.Controllers
  10. {
  11. /// <summary>
  12. /// 版 本 6.1
  13. /// Copyright (c) 2013-2016 上海力软信息技术有限公司
  14. /// 创建人:佘赐雄
  15. /// 日 期:2015.11.18 11:02
  16. /// 描 述:数据库连接管理
  17. /// </summary>
  18. public class DataBaseLinkController : MvcControllerBase
  19. {
  20. private DataBaseLinkBLL databaseLinkBLL = new DataBaseLinkBLL();
  21. #region 视图功能
  22. /// <summary>
  23. /// 库连接管理
  24. /// </summary>
  25. /// <returns></returns>
  26. [HttpGet]
  27. [HandlerAuthorize(PermissionMode.Enforce)]
  28. public ActionResult Index()
  29. {
  30. return View();
  31. }
  32. /// <summary>
  33. /// 库连接表单
  34. /// </summary>
  35. /// <returns></returns>
  36. [HttpGet]
  37. [HandlerAuthorize(PermissionMode.Enforce)]
  38. public ActionResult Form()
  39. {
  40. return View();
  41. }
  42. #endregion
  43. #region 获取数据
  44. /// <summary>
  45. /// 库连接列表
  46. /// </summary>
  47. /// <param name="keyword">关键字查询</param>
  48. /// <returns>返回树形Json</returns>
  49. [HttpGet]
  50. public ActionResult GetTreeJson(string keyword)
  51. {
  52. var data = databaseLinkBLL.GetList();
  53. var dataIp = data.Distinct(new Comparint<DataBaseLinkEntity>("ServerAddress"));
  54. var treeList = new List<TreeEntity>();
  55. foreach (DataBaseLinkEntity item in dataIp)
  56. {
  57. TreeEntity tree = new TreeEntity();
  58. item.ServerAddress = item.ServerAddress.Replace("\\","");
  59. tree.id = item.ServerAddress;
  60. tree.text = item.ServerAddress;
  61. tree.value = item.ServerAddress;
  62. tree.parentId = "0";
  63. tree.isexpand = true;
  64. tree.complete = true;
  65. tree.hasChildren = true;
  66. treeList.Add(tree);
  67. }
  68. foreach (DataBaseLinkEntity item in data)
  69. {
  70. TreeEntity tree = new TreeEntity();
  71. tree.id = item.DatabaseLinkId;
  72. tree.text = item.DBAlias;
  73. tree.value = item.DatabaseLinkId;
  74. tree.title = item.DBName;
  75. tree.parentId = item.ServerAddress.Replace("\\", "");
  76. tree.isexpand = true;
  77. tree.complete = true;
  78. tree.hasChildren = false;
  79. treeList.Add(tree);
  80. }
  81. return Content(treeList.TreeToJson());
  82. }
  83. /// <summary>
  84. /// 库连接列表
  85. /// </summary>
  86. /// <param name="keyword">关键字查询</param>
  87. /// <returns>返回树形列表Json</returns>
  88. [HttpGet]
  89. public ActionResult GetListJson(string keyword)
  90. {
  91. var data = databaseLinkBLL.GetList();
  92. //测试环境防止用户获得连接串
  93. foreach (var item in data)
  94. {
  95. item.ServerAddress = "******";
  96. item.DbConnection = "******";
  97. }
  98. return ToJsonResult(data);
  99. }
  100. /// <summary>
  101. /// 库连接实体
  102. /// </summary>
  103. /// <param name="keyValue">主键值</param>
  104. /// <returns>返回对象Json</returns>
  105. [HttpGet]
  106. public ActionResult GetFormJson(string keyValue)
  107. {
  108. var data = databaseLinkBLL.GetEntity(keyValue);
  109. //测试环境防止用户获得连接串
  110. data.ServerAddress = "******";
  111. data.DbConnection = "******";
  112. return ToJsonResult(data);
  113. }
  114. #endregion
  115. #region 提交数据
  116. /// <summary>
  117. /// 删除库连接
  118. /// </summary>
  119. /// <param name="keyValue">主键值</param>
  120. /// <returns></returns>
  121. [HttpPost]
  122. [ValidateAntiForgeryToken]
  123. [AjaxOnly]
  124. [HandlerAuthorize(PermissionMode.Enforce)]
  125. public ActionResult RemoveForm(string keyValue)
  126. {
  127. databaseLinkBLL.RemoveForm(keyValue);
  128. return Success("删除成功。");
  129. }
  130. /// <summary>
  131. /// 保存库连接表单(新增、修改)
  132. /// </summary>
  133. /// <param name="keyValue">主键值</param>
  134. /// <param name="databaseLinkEntity">库连接实体</param>
  135. /// <returns></returns>
  136. [HttpPost]
  137. [ValidateAntiForgeryToken]
  138. [AjaxOnly]
  139. public ActionResult SaveForm(string keyValue, DataBaseLinkEntity databaseLinkEntity)
  140. {
  141. //测试环境防止用户修改连接串
  142. //if (!string.IsNullOrEmpty(keyValue))
  143. //{
  144. // return Success("测试环境,修改数据库连接无效。");
  145. //}
  146. databaseLinkBLL.SaveForm(keyValue, databaseLinkEntity);
  147. return Success("操作成功。");
  148. }
  149. #endregion
  150. }
  151. }