using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Threading.Tasks; using HT.Cloud.Code; using HT.Cloud.Domain.SystemOrganize; using HT.Cloud.Service.SystemOrganize; namespace HT.Cloud.Web.Areas.SystemOrganize.Controllers { /// /// 创 建:超级管理员 /// 日 期:2020-06-01 09:44 /// 描 述:数据权限控制器类 /// [Area("SystemOrganize")] public class DataPrivilegeRuleController : BaseController { public DataPrivilegeRuleService _service { get; set; } #region 获取数据 [HandlerAjaxOnly] [IgnoreAntiforgeryToken] public async Task GetGridJson(SoulPage pagination, string keyword) { if (string.IsNullOrEmpty(pagination.field)) { pagination.field = "F_Id"; pagination.order = "desc"; } var data = await _service.GetLookList(pagination, keyword); return Content(pagination.setData(data).ToJson()); } [HttpGet] [HandlerAjaxOnly] public async Task GetListJson(string keyword) { var data = await _service.GetList(keyword); return Content(data.ToJson()); } [HttpGet] [HandlerAjaxOnly] public async Task GetFormJson(string keyValue) { var data = await _service.GetLookForm(keyValue); return Content(data.ToJson()); } [HttpGet] public virtual ActionResult RuleForm() { return View(); } #endregion 获取数据 #region 提交数据 [HttpPost] [HandlerAjaxOnly] public async Task SubmitForm(DataPrivilegeRuleEntity entity, string listData, string keyValue) { var filterList = JsonConvert.DeserializeObject>(listData); foreach (var item in filterList) { if (!string.IsNullOrEmpty(item.Description)) { entity.F_Description += item.Description + ","; } } if (!string.IsNullOrEmpty(entity.F_Description)) { entity.F_Description = entity.F_Description.Substring(0, entity.F_Description.Length - 1); } entity.F_PrivilegeRules = filterList.ToJson(); try { await _service.SubmitForm(entity, keyValue); return await Success("操作成功。", "", keyValue); } catch (Exception ex) { return await Error(ex.Message, "", keyValue); } } [HttpPost] [HandlerAjaxOnly] [HandlerAuthorize] public async Task DeleteForm(string keyValue) { try { await _service.DeleteForm(keyValue); return await Success("操作成功。", "", keyValue, DbLogType.Delete); } catch (Exception ex) { return await Error(ex.Message, "", keyValue, DbLogType.Delete); } } #endregion 提交数据 } }