//----------SysDictData开始----------


using Admin.Core.Model;
using Admin.Core.Model.Sys;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Admin.Core.IService.ISys
{
    /// <summary>
    /// 字典数据表IService
    /// </summary>	
    public interface ISysDictDataService : IBaseServices<SysDictData>
    {

        /// <summary>
        /// 根据条件分页查询字典类型
        /// </summary>
        /// <param name="SysDictData"> 字典类型信息 </param>
        /// <returns> 字典类型集合信息 </returns>
        Task<PageModel<SysDictData>> SelectDictDataList(PageQuery<SysDictData> pageQuery);

        /// <summary>
        /// 根据字典类型和字典键值查询字典数据信息
        /// </summary>
        /// <param name="dictType"> 字典类型 </param>
        /// <param name="dictValue"> 字典键值 </param>
        /// <returns> 字典标签 </returns>
        Task<string> SelectDictLabel(string dictType, string dictValue);

        /// <summary>
        /// 根据字典数据ID查询信息
        /// </summary>
        /// <param name="dictCode"> 字典数据ID </param>
        /// <returns> 字典数据 </returns>
        Task<SysDictData> SelectDictDataById(int dictCode);

        /// <summary>
        /// 批量删除字典数据信息
        /// </summary>
        /// <param name="dictCodes"> 需要删除的字典数据ID </param>
        /// <returns> 结果 </returns>
        Task<bool> DeleteDictDataByIds(List<int> dictCodes);

        /// <summary>
        /// 新增保存字典数据信息
        /// </summary>
        /// <param name="data"> 字典数据信息 </param>
        /// <returns> 结果 </returns>
        Task<int> InsertDictData(SysDictData data);

        /// <summary>
        /// 修改保存字典数据信息
        /// </summary>
        /// <param name="data"> 字典数据信息 </param>
        /// <returns> 结果 </returns>
        Task<bool> UpdateDictData(SysDictData data);

    }
}

//----------SysDictData结束----------