using LeaRun.Application.Busines.SystemManage;
using LeaRun.Application.Code;
using LeaRun.Application.Entity.SystemManage;
using LeaRun.Util;
using LeaRun.Util.WebControl;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
namespace LeaRun.Application.Web.Areas.SystemManage.Controllers
{
///
/// 版 本 6.1
/// Copyright (c) 2013-2016 上海力软信息技术有限公司
/// 创建人:佘赐雄
/// 日 期:2015.11.17 9:56
/// 描 述:数据字典分类
///
public class DataItemController : MvcControllerBase
{
private DataItemBLL dataItemBLL = new DataItemBLL();
#region 视图功能
///
/// 分类管理
///
///
[HttpGet]
[HandlerAuthorize(PermissionMode.Enforce)]
public ActionResult Index()
{
return View();
}
///
/// 分类表单
///
///
[HttpGet]
public ActionResult Form()
{
return View();
}
#endregion
#region 获取数据
///
/// 分类列表
///
/// 关键字查询
/// 返回树形Json
[HttpGet]
public ActionResult GetTreeJson(string keyword)
{
var data = dataItemBLL.GetList().ToList();
if (!string.IsNullOrEmpty(keyword))
{
data = data.TreeWhere(t => t.ItemName.Contains(keyword), "");
}
var treeList = new List();
foreach (DataItemEntity item in data)
{
TreeEntity tree = new TreeEntity();
bool hasChildren = data.Count(t => t.ParentId == item.ItemId) == 0 ? false : true;
tree.id = item.ItemId;
tree.text = item.ItemName;
tree.value = item.ItemCode;
tree.parentId = item.ParentId;
tree.isexpand = true;
tree.complete = true;
tree.Attribute = "isTree";
tree.AttributeValue = item.IsTree.ToString();
tree.hasChildren = hasChildren;
treeList.Add(tree);
}
return Content(treeList.TreeToJson());
}
///
/// 分类列表
///
/// 关键字查询
/// 返回树形列表Json
[HttpGet]
public ActionResult GetTreeListJson(string keyword)
{
var data = dataItemBLL.GetList().ToList();
if (!string.IsNullOrEmpty(keyword))
{
data = data.TreeWhere(t => t.ItemName.Contains(keyword), "");
}
var TreeList = new List();
foreach (DataItemEntity item in data)
{
TreeGridEntity tree = new TreeGridEntity();
bool hasChildren = data.Count(t => t.ParentId == item.ItemId) == 0 ? false : true;
tree.id = item.ItemId;
tree.parentId = item.ParentId;
tree.expanded = true;
tree.hasChildren = hasChildren;
tree.entityJson = item.ToJson();
TreeList.Add(tree);
}
return Content(TreeList.TreeJson());
}
///
/// 分类实体
///
/// 主键值
/// 返回对象Json
[HttpGet]
public ActionResult GetFormJson(string keyValue)
{
var data = dataItemBLL.GetEntity(keyValue);
return Content(data.ToJson());
}
#endregion
#region 验证数据
///
/// 分类编号不能重复
///
/// 编号
/// 主键
///
[HttpGet]
public ActionResult ExistItemCode(string ItemCode, string keyValue)
{
bool IsOk = dataItemBLL.ExistItemCode(ItemCode, keyValue);
return Content(IsOk.ToString());
}
///
/// 分类名称不能重复
///
/// 名称
/// 主键
///
[HttpGet]
public ActionResult ExistItemName(string ItemName, string keyValue)
{
bool IsOk = dataItemBLL.ExistItemName(ItemName, keyValue);
return Content(IsOk.ToString());
}
#endregion
#region 提交数据
///
/// 删除分类
///
/// 主键值
///
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult RemoveForm(string keyValue)
{
dataItemBLL.RemoveForm(keyValue);
return Success("删除成功。");
}
///
/// 保存分类表单(新增、修改)
///
/// 主键值
/// 分类实体
///
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, DataItemEntity dataItemEntity)
{
dataItemBLL.SaveForm(keyValue, dataItemEntity);
return Success("操作成功。");
}
#endregion
}
}