using learun.iapplication; using learun.util; using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; // For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 namespace EC.Web.Areas.LR_SystemModule.Controllers { /// /// 版 本 EasyCode EC管理后台 /// Copyright (c) 2019-present EC管理有限公司 /// 创建人:tobin /// 日 期:2019.10.31 /// 描 述:数据源管理 /// [Area("LR_SystemModule")] public class DataSourceController : MvcControllerBase { private readonly DataSourceIBLL _dataSourceIBLL; public DataSourceController(DataSourceIBLL dataSourceIBLL) { _dataSourceIBLL = dataSourceIBLL; } #region 获取视图 /// /// 管理页面 /// /// [HttpGet] public IActionResult Index() { return View(); } /// /// 表单页面 /// /// [HttpGet] public IActionResult Form() { return View(); } /// /// 测试页面 /// /// [HttpGet] public IActionResult TestForm() { return View(); } /// /// 选择页面 /// /// [HttpGet] public IActionResult SelectForm() { return View(); } #endregion 获取视图 #region 获取数据 /// /// 获取分页数据 /// /// 分页参数 /// 关键字 /// [HttpGet] [AjaxOnly] public async Task GetPageList(string pagination, string keyword) { Pagination paginationobj = pagination.ToObject(); var data = await _dataSourceIBLL.GetPageList(paginationobj, keyword); var jsonData = new { rows = data, paginationobj.total, paginationobj.page, paginationobj.records, }; return Success(jsonData); } /// /// 获取所有数据源数据列表 /// /// [HttpGet] [AjaxOnly] public async Task GetList() { var data = await _dataSourceIBLL.GetList(); return Success(data); } /// /// 获取所有数据源实体根据编号 /// /// 编号 /// [HttpGet] [AjaxOnly] public async Task GetEntityByCode(string keyValue) { if (string.IsNullOrEmpty(keyValue)) { return Success(""); } else { var data = await _dataSourceIBLL.GetEntityByCode(keyValue.Split(',')[0]); return Success(data); } } /// /// 获取所有数据源实体根据编号 /// /// 编号 /// [HttpGet] [AjaxOnly] public async Task GetNameByCode(string keyValue) { if (string.IsNullOrEmpty(keyValue)) { return Success(""); } else { var data = await _dataSourceIBLL.GetEntityByCode(keyValue.Split(',')[0]); return Success(data.F_Name); } } #endregion 获取数据 #region 提交数据 /// /// 保存表单数据 /// /// 主键 /// 实体 /// [HttpPost] [AjaxOnly] public async Task SaveForm(string keyValue, DataSourceEntity entity) { bool res = await _dataSourceIBLL.SaveEntity(keyValue, entity); if (res) { return SuccessInfo("保存成功!"); } else { return Fail("保存失败,编码重复!"); } } /// /// 删除表单数据 /// /// 主键 /// [HttpPost] [AjaxOnly] public async Task DeleteForm(string keyValue) { await _dataSourceIBLL.DeleteEntity(keyValue); return SuccessInfo("删除成功!"); } #endregion 提交数据 #region 扩展方法 /// /// 获取数据源数据 /// /// 数据源编号 /// 数据源请求条件字串 /// [HttpGet] [AjaxOnly] public async Task GetDataTable(string code, string queryJson) { var data = await _dataSourceIBLL.GetDataTable(code, queryJson); return Success(data); } /// /// 获取数据源数据 /// /// 分页参数 /// 数据源编号 /// 数据源请求条件字串 /// [HttpGet] [AjaxOnly] public async Task GetDataTablePage(string pagination, string code, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = await _dataSourceIBLL.GetDataTable(code, paginationobj, queryJson); var jsonData = new { rows = data, paginationobj.total, paginationobj.page, paginationobj.records, }; return Success(jsonData); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public async Task GetTree(string code, string parentId, string Id, string showId) { var data = await _dataSourceIBLL.GetTree(code, parentId, Id, showId); return Success(data); } /// /// 获取数据源列名 /// /// 数据源编码 /// [HttpGet] [AjaxOnly] public async Task GetDataColName(string code) { var data = await _dataSourceIBLL.GetDataColName(code); return Success(data); } /// /// 获取数据源列名 /// /// 数据库编码 /// sql语句 /// [HttpPost] [AjaxOnly] public async Task GetDataTableBySql(string code, string sql) { sql = Str.SqlFilters(sql); var data = await _dataSourceIBLL.GetDataTableBySql(code, sql); return Success(data); } #endregion 扩展方法 } }