using WMS.BZModels.Models.UserCenterManager; using WMS.BZSqlSugar; using SqlSugar; using Mapster; using WMS.BZModels.Dto.UserCenterManager.SysDictionaryDtos; using WMS.BZModels; using WMS.Info; namespace WMS.BZServices.UserCenterManager { public class SysDictionaryService { private readonly Repository _sysDictionaryRepository; public SysDictionaryService(Repository sysDictionaryRepository) { _sysDictionaryRepository = sysDictionaryRepository; } public PagedInfo GetPageList(Pagination pagination, SysDictionaryQueryDto sysDictionaryQueryDto) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(sysDictionaryQueryDto != null && !string.IsNullOrEmpty(sysDictionaryQueryDto?.KeyWord), m => m.Code.Contains(sysDictionaryQueryDto.KeyWord) || m.Name.Contains(sysDictionaryQueryDto.KeyWord)); var list = _sysDictionaryRepository.Queryable().Where(predicate.ToExpression()) .ToPage(pagination); return list; } public List GetList(string keyword) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(keyword), m => m.Code.Contains(keyword) || m.Name.Contains(keyword)); var list = _sysDictionaryRepository.Queryable().Where(predicate.ToExpression()).ToList(); return list.Adapt>(); } public List GetList() { var list = _sysDictionaryRepository.Queryable().OrderBy(o => o.Num).ToList(); return list; } public Dictionary> GetModelMap() { Dictionary> dic = new Dictionary>(); List list = GetList(); var plist = list.FindAll(it => it.IsStop == 0 && it.PNo == "0"); foreach (var p in plist) { var dtllist = list.FindAll(a => a.PNo == p.No); dic.Add(p.No, dtllist.ToDictionary(v => v.No, v => v)); } return dic; } /// /// 获取实体数据 /// 主键 /// /// public SysDictionary GetEntityById(long keyValue) { return _sysDictionaryRepository.Queryable().Single(it => it.Id == keyValue); } /// /// 获取实体数据 /// 主键 /// /// public SysDictionary GetEntityByCode(string keyValue) { return _sysDictionaryRepository.Queryable().Single(it => it.Code == keyValue); } public void Save(LoginUserInfo loginUser, string keyValue, SysDictionary entity) { try { if (string.IsNullOrWhiteSpace(entity.Code)) { throw new ArgumentException("编号不能为空"); } if (keyValue.IsEmpty() || keyValue == "undefined") { var mat = _sysDictionaryRepository.GetSingle(p => p.Code == entity.Code); if (mat != null) { throw new ArgumentException("编码已存在"); } entity.Id = IdFactory.NewId(); entity.AddTime = DateTime.Now; entity.AddWho = loginUser.UserNo; entity.EditTime = DateTime.Now; entity.EditWho = loginUser.UserNo; _sysDictionaryRepository.Insert(entity); } else { entity.Id = Convert.ToInt64(keyValue); entity.EditTime = DateTime.Now; entity.EditWho = loginUser.UserNo; _sysDictionaryRepository.UpdateEntity(entity); } } catch (Exception ex) { throw ex; } } public void Delete(string Id) { if (string.IsNullOrWhiteSpace(Id) || long.TryParse(Id, out var result)) { throw new ArgumentException("Id错误"); } var entity = GetEntityById(result); if (entity != null) { _sysDictionaryRepository.Delete(entity); } } } }