using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Threading.Tasks;
using WIDESEA_Core.Controllers.Basic;
using WIDESEA_Core.Extensions;
using WIDESEA_Core.Filters;
using WIDESEA_System.IServices;
namespace WIDESEA_System.Controllers
{
    public partial class Sys_DictionaryController
    {
        [HttpPost, Route("GetVueDictionary"), AllowAnonymous]
        [ApiActionPermission()]
        public IActionResult GetVueDictionary([FromBody] string[] dicNos)
        {
            return Content(Service.GetVueDictionary(dicNos).Serialize());
        }
        /// 
        /// table加载数据后刷新当前table数据的字典项(适用字典数据量比较大的情况)
        /// 
        /// 
        /// 
        [HttpPost, Route("getTableDictionary")]
        public IActionResult GetTableDictionary([FromBody] Dictionary keyData)
        {
            return Json(Service.GetTableDictionary(keyData));
        }
        /// 
        /// 远程搜索
        /// 
        /// 
        /// 
        [HttpPost, Route("getSearchDictionary"), AllowAnonymous]
        public IActionResult GetSearchDictionary(string dicNo, string value)
        {
            return Json(Service.GetSearchDictionary(dicNo, value));
        }
        /// 
        /// 表单设置为远程查询,重置或第一次添加表单时,获取字典的key、value
        /// 
        /// 
        /// 
        /// 
        [HttpPost, Route("getRemoteDefaultKeyValue"), AllowAnonymous]
        public async Task GetRemoteDefaultKeyValue(string dicNo, string key)
        {
            return Json(await Service.GetRemoteDefaultKeyValue(dicNo, key));
        }
        /// 
        /// 代码生成器获取所有字典项(超级管理权限)
        /// 
        /// 
        [HttpPost, Route("GetBuilderDictionary")]
        // [ApiActionPermission(ActionRolePermission.SuperAdmin)]
        public async Task GetBuilderDictionary()
        {
            return Json(await Service.GetBuilderDictionary());
        }
    }
}