using Infrastructure; using Infrastructure.Attribute; using System.Collections.Generic; using System.Text; using ARW.Model; using ARW.Model.System; using ARW.Repository.System; using ARW.Service.System.IService; namespace ARW.Service.System { /// /// 字典类型 /// [AppService(ServiceType = typeof(ISysDictService), ServiceLifetime = LifeTime.Transient)] public class SysDictService : BaseService, ISysDictService { private SysDictRepository DictRepository; private SysDictDataRepository DictDataRepository; public SysDictService(SysDictRepository sysDictRepository, SysDictDataRepository dictDataRepository) { this.DictRepository = sysDictRepository; this.DictDataRepository = dictDataRepository; } public List GetAll() { return DictRepository.GetAll(); } /// /// 查询字段类型列表 /// /// 实体模型 /// public PagedInfo SelectDictTypeList(SysDictType dictType, Model.PagerInfo pager) { return DictRepository.SelectDictTypeList(dictType, pager); } /// /// 校验字典类型称是否唯一 /// /// 字典类型 /// public string CheckDictTypeUnique(SysDictType dictType) { SysDictType sysDictType = DictRepository.GetFirst(f => f.DictType == dictType.DictType); if (sysDictType != null && sysDictType.DictId != dictType.DictId) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; } /// /// 批量删除字典数据信息 /// /// /// public int DeleteDictTypeByIds(long[] dictIds) { foreach (var dictId in dictIds) { SysDictType dictType = DictRepository.GetFirst(x => x.DictId == dictId); if (DictDataRepository.Count(f => f.DictType == dictType.DictType) > 0) { throw new CustomException($"{dictType.DictName}已分配,不能删除"); } } int count = DictRepository.DeleteDictTypeByIds(dictIds); //if (count > 0) //{ // DictUtils.clearDictCache(); //} return count; } /// /// 插入字典类型 /// /// /// public long InsertDictType(SysDictType sysDictType) { return DictRepository.InsertReturnBigIdentity(sysDictType); } /// /// 修改字典类型 /// /// /// public int UpdateDictType(SysDictType sysDictType) { SysDictType oldDict = DictRepository.GetFirst(x => x.DictId == sysDictType.DictId); if (sysDictType.DictType != oldDict.DictType) { //同步修改 dict_data表里面的DictType值 DictDataRepository.UpdateDictDataType(oldDict.DictType, sysDictType.DictType); } return DictRepository.UpdateDictType(sysDictType); } /// /// 获取字典信息 /// /// /// public SysDictType GetInfo(long dictId) { return DictRepository.GetFirst(f => f.DictId == dictId); } } }