using SqlSugar; using WMS.BZModels; using WMS.BZModels.Models.UserCenterManager; using WMS.Info; using WMS.BZSqlSugar; using WMS.BZModels.Dto.UserCenterManager.UserDeptDtos; using WMS.Util; using Mapster; namespace WMS.BZServices.UserCenterManager { public class AclUserDeptService { private readonly Repository _acluserdeptRepository; public AclUserDeptService(Repository acluserdeptRepository) { _acluserdeptRepository = acluserdeptRepository; } /// /// 获取列表数据 /// /// public IList GetList(string keyword) { var predicate = Expressionable.Create(); predicate = predicate.And(m => m.IsStop == 0); predicate = predicate.AndIF(!string.IsNullOrEmpty(keyword), m => m.Code.Contains(keyword) || m.Name.Contains(keyword)); var list = _acluserdeptRepository.Queryable().Where(predicate.ToExpression()).ToList(); return list.Adapt>(); } public Dictionary GetMap() { try { Dictionary dics = new Dictionary(); _acluserdeptRepository.Queryable().Where(o=>o.IsStop==0).ToList().ForEach(it => dics.Add(it.Id.ToString(), it.Adapt ())); return dics; } catch (Exception ex) { throw ex; } } public PagedInfo GetPageList(Pagination pagination, AclUserdeptListQueryDto billDocsinfoQueryDto) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(billDocsinfoQueryDto != null && !string.IsNullOrEmpty(billDocsinfoQueryDto?.KeyWord), m => m.Code.Contains(billDocsinfoQueryDto.KeyWord) || m.Name.Contains(billDocsinfoQueryDto.KeyWord)); var list = _acluserdeptRepository.Queryable().Where(predicate.ToExpression()) .ToPage(pagination); return list; } /// /// 获取实体数据 /// 主键 /// /// public AclUserdept GetEntityByCode(string keyValue) { try { return _acluserdeptRepository.Queryable().Where(it => it.Code == keyValue).First(); } catch (Exception ex) { throw ex; } } public AclUserdept GetEntityById(long Id) { try { return _acluserdeptRepository.Queryable().Where(it => it.Id == Id).First(); } catch (Exception ex) { throw ex; } } public void Save(LoginUserInfo loginUser, string keyValue, AclUserdept entity) { try { if (string.IsNullOrWhiteSpace(entity.Code)) { throw new ArgumentException("部门编号不能为空"); } if (keyValue.IsEmpty() || keyValue == "undefined") { var mat = _acluserdeptRepository.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; _acluserdeptRepository.Insert(entity); } else { entity.Id = Convert.ToInt64(keyValue); entity.EditTime = DateTime.Now; entity.EditWho = loginUser.UserNo; _acluserdeptRepository.UpdateEntity(entity); } } catch (Exception ex) { throw ex; } } public void Delete(string Id) { try { if (string.IsNullOrWhiteSpace(Id) || long.TryParse(Id, out var result)) { throw new ArgumentException("用户组Id错误"); } var entity = GetEntityById(result); if (entity != null) { _acluserdeptRepository.Delete(entity); //_acluserdeptRepository.Deleteable().Where(it => it.Id == result).ExecuteCommand(); } } catch (Exception ex) { throw ex; } } } }