using Microsoft.AspNetCore.Mvc;
using SqlSugar;
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
{
///
/// 创 建:超级管理员
/// 日 期:2020-06-12 13:50
/// 描 述:系统设置控制器类
///
[Area("SystemOrganize")]
public class SystemSetController : BaseController
{
public SystemSetService _service { get; set; }
#region 获取数据
[HttpGet]
[HandlerAuthorize]
[HandlerAdmin(false)]
public virtual ActionResult SetForm()
{
return View();
}
[HttpGet]
[HandlerAjaxOnly]
[HandlerAdmin]
public async Task GetGridJson(Pagination pagination, string keyword)
{
if (string.IsNullOrEmpty(pagination.field))
{
pagination.order = "desc";
pagination.field = "F_Id";
}
//导出全部页使用
if (pagination.rows == 0 && pagination.page == 0)
{
pagination.rows = 99999999;
pagination.page = 1;
}
var data = await _service.GetLookList(pagination, keyword);
return Success(pagination.records, data);
}
[HttpGet]
[HandlerAjaxOnly]
public async Task GetListJson(string keyword)
{
var data = await _service.GetList(keyword);
var currentuser = _service.currentuser;
if (currentuser.UserId == null)
{
return null;
}
else
{
data = data.Where(a => a.F_Id == _service.currentuser.CompanyId).ToList();
foreach (var item in data)
{
item.F_AdminAccount = null;
item.F_AdminPassword = null;
item.F_DBProvider = null;
item.F_DbString = null;
item.F_HostUrl = null;
item.F_PrincipalMan = null;
item.F_MobilePhone = null;
}
return Content(data.ToJson());
}
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetDbTypeJson()
{
var data = EnumHelper.EnumToList();
return Content(data.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
[HandlerAdmin]
public async Task GetFormJson(string keyValue)
{
var data = await _service.GetForm(keyValue);
return Content(data.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
[HandlerAdmin(false)]
public async Task GetSetFormJson()
{
var data = await _service.GetForm(_service.currentuser.CompanyId);
return Content(data.ToJson());
}
#endregion 获取数据
#region 提交数据
[HttpPost]
[HandlerAjaxOnly]
[HandlerAdmin]
public async Task SubmitForm(SystemSetEntity entity, string permissionbuttonIds, string permissionfieldsIds, string keyValue)
{
try
{
await _service.SubmitForm(entity, keyValue, string.IsNullOrEmpty(permissionbuttonIds) ? null : permissionbuttonIds.Split(','), string.IsNullOrEmpty(permissionfieldsIds) ? null : permissionfieldsIds.Split(','));
return await Success("操作成功。", "", keyValue);
}
catch (Exception ex)
{
return await Error(ex.Message, "", keyValue);
}
}
[HttpPost]
[HandlerAjaxOnly]
[HandlerAdmin(false)]
public async Task SetSubmitForm(SystemSetEntity entity)
{
var keyValue = _service.currentuser.CompanyId;
try
{
entity.F_DeleteMark = false;
entity.F_EnabledMark = null;
entity.F_EndTime = null;
await _service.SubmitForm(entity, keyValue);
return await Success("操作成功。", "", keyValue);
}
catch (Exception ex)
{
return await Error(ex.Message, "", keyValue);
}
}
[HttpPost]
[HandlerAjaxOnly]
[HandlerAuthorize]
[HandlerAdmin]
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 提交数据
}
}