117 lines
3.1 KiB
C#
117 lines
3.1 KiB
C#
![]() |
/*******************************************************************************
|
|||
|
* Copyright © 2020 HT.Cloud.Framework 版权所有
|
|||
|
* Author: HT.Cloud
|
|||
|
* Description: WaterCloud快速开发平台
|
|||
|
* Website:
|
|||
|
*********************************************************************************/
|
|||
|
|
|||
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
using System;
|
|||
|
using System.Linq;
|
|||
|
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
|
|||
|
{
|
|||
|
[Area("SystemOrganize")]
|
|||
|
public class RoleController : BaseController
|
|||
|
{
|
|||
|
public RoleService _service { get; set; }
|
|||
|
|
|||
|
[HttpGet]
|
|||
|
public virtual ActionResult AddForm()
|
|||
|
{
|
|||
|
return View();
|
|||
|
}
|
|||
|
|
|||
|
[HttpGet]
|
|||
|
[HandlerAjaxOnly]
|
|||
|
public async Task<ActionResult> GetListJson(string keyword)
|
|||
|
{
|
|||
|
var data = await _service.GetList(keyword);
|
|||
|
return Content(data.ToJson());
|
|||
|
}
|
|||
|
|
|||
|
[HttpGet]
|
|||
|
[HandlerAjaxOnly]
|
|||
|
public async Task<ActionResult> GetSelectJson(string keyword, string ids)
|
|||
|
{
|
|||
|
var data = await _service.GetList(keyword);
|
|||
|
data = data.Where(a => a.F_EnabledMark == true).ToList();
|
|||
|
if (!string.IsNullOrEmpty(ids))
|
|||
|
{
|
|||
|
foreach (var item in ids.Split(','))
|
|||
|
{
|
|||
|
var temp = data.Find(a => a.F_Id == item);
|
|||
|
if (temp != null)
|
|||
|
{
|
|||
|
temp.LAY_CHECKED = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return Success(data.Count, data);
|
|||
|
}
|
|||
|
|
|||
|
[HandlerAjaxOnly]
|
|||
|
[IgnoreAntiforgeryToken]
|
|||
|
public async Task<ActionResult> GetGridJson(SoulPage<RoleExtend> 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<ActionResult> GetFormJson(string keyValue)
|
|||
|
{
|
|||
|
var data = await _service.GetLookForm(keyValue);
|
|||
|
return Content(data.ToJson());
|
|||
|
}
|
|||
|
|
|||
|
[HttpPost]
|
|||
|
[HandlerAjaxOnly]
|
|||
|
public async Task<ActionResult> SubmitForm(RoleEntity roleEntity, string permissionbuttonIds, string permissionfieldsIds, string keyValue)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(keyValue) && _service.currentuser.RoleId == keyValue)
|
|||
|
{
|
|||
|
return Error("操作失败,不能修改用户当前角色");
|
|||
|
}
|
|||
|
try
|
|||
|
{
|
|||
|
await _service.SubmitForm(roleEntity, string.IsNullOrEmpty(permissionbuttonIds) ? new string[0] : permissionbuttonIds.Split(','), string.IsNullOrEmpty(permissionfieldsIds) ? new string[0] : permissionfieldsIds.Split(','), keyValue);
|
|||
|
return await Success("操作成功。", "", keyValue);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
return await Error(ex.Message, "", keyValue);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[HttpPost]
|
|||
|
[HandlerAjaxOnly]
|
|||
|
[HandlerAuthorize]
|
|||
|
public async Task<ActionResult> DeleteForm(string keyValue)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (_service.currentuser.RoleId == keyValue)
|
|||
|
{
|
|||
|
return Error("操作失败,不能删除用户当前角色");
|
|||
|
}
|
|||
|
await _service.DeleteForm(keyValue);
|
|||
|
return await Success("操作成功。", "", keyValue, DbLogType.Delete);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
return await Error(ex.Message, "", keyValue, DbLogType.Delete);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|