//----------SysDictData开始---------- using System; using System.Collections.Generic; using System.Threading.Tasks; using Admin.Core.IRepository; using Admin.Core.Model; using System.Linq; using System.Linq.Expressions; using Admin.Core.Common; using Admin.Core.IService.ISys; using Admin.Core.Model.Sys; namespace Admin.Core.Service.Sys { /// <summary> /// 字典数据表Service /// </summary> public partial class SysDictDataService : BaseServices<SysDictData>, ISysDictDataService { IBaseRepository<SysDictData> dal; public SysDictDataService(IBaseRepository<SysDictData> dal) { this.dal = dal; BaseDal = dal; } /// <summary> /// 根据条件分页查询字典类型 /// </summary> /// <param name="SysDictData"> 字典类型信息 </param> /// <returns> 字典类型集合信息 </returns> public async Task<PageModel<SysDictData>> SelectDictDataList(PageQuery<SysDictData> pageQuery) { Expression<Func<SysDictData, bool>> whereExpression = x => true; if (pageQuery.Query.DictLabel.IsNotEmptyOrNull()) { whereExpression = whereExpression.And(x => x.DictLabel.Contains(pageQuery.Query.DictLabel)); } if (pageQuery.Query.DictType.IsNotEmptyOrNull()) { whereExpression = whereExpression.And(x => x.DictType.Contains(pageQuery.Query.DictType)); } if (pageQuery.Query.Status.IsNotEmptyOrNull()) { whereExpression = whereExpression.And(x => x.Status == pageQuery.Query.Status); } var data = await dal.QueryPageAsync(whereExpression, pageQuery.Page, pageQuery.PageSize, "DictSort asc"); return data; } /// <summary> /// 根据字典类型和字典键值查询字典数据信息 /// </summary> /// <param name="dictType"> 字典类型 </param> /// <param name="dictValue"> 字典键值 </param> /// <returns> 字典标签 </returns> public async Task<string> SelectDictLabel(string dictType, string dictValue) { var datas = await dal.QueryAsync(x => x.DictType == dictType && x.DictValue == dictValue); return datas.FirstOrDefault()?.DictLabel; } /// <summary> /// 根据字典数据ID查询信息 /// </summary> /// <param name="dictCode"> 字典数据ID </param> /// <returns> 字典数据 </returns> public async Task<SysDictData> SelectDictDataById(int dictCode) { return await dal.QueryByIdAsync(dictCode); } /// <summary> /// 批量删除字典数据信息 /// </summary> /// <param name="dictCodes"> 需要删除的字典数据ID </param> /// <returns> 结果 </returns> public async Task<bool> DeleteDictDataByIds(List<int> dictCodes) { var datas = await dal.QueryAsync(x => dictCodes.Contains(x.DictCode)); return await dal.DeletesAsync(datas); } /// <summary> /// 新增保存字典数据信息 /// </summary> /// <param name="data"> 字典数据信息 </param> /// <returns> 结果 </returns> public async Task<int> InsertDictData(SysDictData data) { data.CreateTime = DateTime.Now; data.UpdateTime = DateTime.Now; return await dal.AddAsync(data); } /// <summary> /// 修改保存字典数据信息 /// </summary> /// <param name="data"> 字典数据信息 </param> /// <returns> 结果 </returns> public async Task<bool> UpdateDictData(SysDictData data) { data.UpdateTime = DateTime.Now; return await dal.UpdateAsync(data); } } } //----------SysDictData结束----------