using Learun.Application.Base.SystemModule;
using Learun.Util;
using System.Collections.Generic;
using System.Web.Mvc;
namespace Learun.Application.Web.Areas.LR_SystemModule.Controllers
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创建人:陈彬彬
/// 日 期:2017.04.01
/// 描 述:数据表管理
///
public class DatabaseTableController : MvcControllerBase
{
private DatabaseTableIBLL databaseTableIBLL = new DatabaseTableBLL();
private DbDraftIBLL dbDraftIBLL = new DbDraftBLL();
#region 获取视图
///
/// 主页面管理
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
///
/// 表单页面管理
///
///
[HttpGet]
public ActionResult Form() {
return View();
}
///
/// 表数据查询
///
///
[HttpGet]
public ActionResult TableIndex() {
return View();
}
///
/// 新增、编辑表页面
///
///
[HttpGet]
public ActionResult EditTableForm()
{
return View();
}
///
/// 复制表
///
///
[HttpGet]
public ActionResult CopyTableForm()
{
return View();
}
///
/// 草稿管理
///
///
[HttpGet]
public ActionResult DraftForm()
{
return View();
}
#endregion
#region 获取数据
///
/// 获取数据表数据
///
/// 连接串Id
/// 表名
///
[HttpGet]
[AjaxOnly]
public ActionResult GetList(string databaseLinkId,string tableName)
{
var data = databaseTableIBLL.GetTableList(databaseLinkId, tableName);
return JsonResult(data);
}
///
/// 获取表的字段数据
///
/// 连接串Id
/// 表名
///
[HttpGet]
[AjaxOnly]
public ActionResult GetDraftList(string queryJson)
{
var data = dbDraftIBLL.GetList(queryJson);
return JsonResult(data);
}
///
/// 获取表的字段数据
///
/// 连接串Id
/// 表名
///
[HttpGet]
[AjaxOnly]
public ActionResult GetFieldList(string databaseLinkId, string tableName) {
var data = databaseTableIBLL.GetTableFiledList(databaseLinkId, tableName);
return JsonResult(data);
}
///
/// 获取表数据
///
/// 连接串ID
/// 表名
/// 字段名
/// 逻辑
/// 关键字
/// 分页参数
///
[HttpGet]
[AjaxOnly]
public ActionResult GetTableDataList(string databaseLinkId, string tableName, string field, string logic, string keyword, string pagination)
{
Pagination paginationobj = pagination.ToObject();
var data = databaseTableIBLL.GetTableDataList(databaseLinkId, tableName, field, logic, keyword, paginationobj);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records,
};
return JsonResult(jsonData);
}
///
/// 获取表数据
///
/// 连接串ID
/// 表名
///
[HttpGet]
[AjaxOnly]
public ActionResult GetTableDataAllList(string databaseLinkId, string tableName)
{
var data = databaseTableIBLL.GetTableDataList(databaseLinkId, tableName);
return JsonResult(data);
}
///
/// 获取表数据(树形数据)
///
/// 连接串主键
///
[HttpGet]
[AjaxOnly]
public ActionResult GetTreeList(string parentId)
{
var data = databaseTableIBLL.GetTreeList(parentId);
return JsonResult(data);
}
///
/// 获取表字段树形数据
///
/// 连接串主键
/// 表名
///
public ActionResult GetFieldTreeList(string databaseLinkId, string tableName)
{
var data = databaseTableIBLL.GetFiledTreeList(databaseLinkId, tableName);
return JsonResult(data);
}
///
/// 给定查询语句查询字段
///
/// 连接串主键
/// sql语句
///
public ActionResult GetSqlColName(string databaseLinkId, string strSql)
{
var data = databaseTableIBLL.GetSqlColName(databaseLinkId, strSql);
return JsonResult(data);
}
#endregion
#region 提交数据
///
/// 保存列数据(新增、修改)
/// 表类
///
///
[HttpPost]
[AjaxOnly]
public ActionResult SaveDraft(string keyValue, DbDraftEntity entity)
{
dbDraftIBLL.SaveEntity(keyValue, entity);
return Success("保存草稿成功", entity.F_Id);
}
///
/// 保存列数据(新增、修改)
/// 表类
///
///
[HttpPost]
[AjaxOnly]
public ActionResult DeleteDraft(string keyValue)
{
dbDraftIBLL.DeleteEntity(keyValue);
return Success("删除草稿成功");
}
///
/// 保存表数据(新增)
/// 表类
///
///
[HttpPost]
[AjaxOnly]
public ActionResult SaveTable(string databaseLinkId, string draftId, string tableName,string tableRemark,string strColList)
{
List colList = strColList.ToObject>();
string res = databaseTableIBLL.CreateTable(databaseLinkId, tableName, tableRemark, colList);
if (res == "建表成功")
{
if (!string.IsNullOrEmpty(draftId))
{
dbDraftIBLL.DeleteEntity(draftId);
}
return Success("创建成功");
}
else {
return Fail(res);
}
}
#endregion
}
}