using SqlSugar; using WMS.BZModels; using WMS.Info; using WMS.BZSqlSugar; using WMS.BZModels.Models.UserCenterManager; using WMS.BZModels.Dto.UserCenterManager.UserGroupDtos; using Mapster; namespace WMS.BZServices.UserCenterManager { public class AclUserGroupService { private readonly Repository _aclusergroupRepository; public AclUserGroupService(Repository aclusergroupRepository) { _aclusergroupRepository = aclusergroupRepository; } /// /// 获取列表数据 /// /// public IList GetList(string keyword) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(string.IsNullOrEmpty(keyword), m => m.Code.Contains(keyword) || m.Name.Contains(keyword)); var list = _aclusergroupRepository.Queryable().Where(predicate.ToExpression()).ToList(); return list.Adapt>(); } public PagedInfo GetPageList(Pagination pagination, AclUserGroupQueryDto 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 = _aclusergroupRepository.Queryable().Where(predicate.ToExpression()) .ToPage(pagination); return list; } public Dictionary GetMap() { try { Dictionary dics = new Dictionary(); _aclusergroupRepository.Queryable().ToList().ForEach(it => dics.Add(it.Id.ToString(), it.Adapt())); return dics; } catch (Exception ex) { throw ex; } } /// /// 获取实体数据 /// 主键 /// /// public AclUserGroup GetEntityById(long keyValue) { try { return _aclusergroupRepository.Queryable().Where(it => it.Id == keyValue).First(); } catch (Exception ex) { throw ex; } } /// /// 获取实体数据 /// 主键 /// /// public AclUserGroup GetEntityByCode(string keyValue) { try { return _aclusergroupRepository.Queryable().Where(it => it.Code == keyValue).First(); } catch (Exception ex) { throw ex; } } public void Save(LoginUserInfo loginUser, string keyValue, AclUserGroup entity) { try { if (string.IsNullOrWhiteSpace(entity.Code)) { throw new ArgumentException("用户组编号不能为空"); } if (keyValue.IsEmpty() || keyValue == "undefined") { var mat = _aclusergroupRepository.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; _aclusergroupRepository.Insert(entity); } else { entity.Id = Convert.ToInt64(keyValue); entity.EditTime = DateTime.Now; entity.EditWho = loginUser.UserNo; _aclusergroupRepository.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) { _aclusergroupRepository.Delete(entity); //_aclusergroupRepository.Deleteable().Where(it => it.Id == result).ExecuteCommand(); } //ctx.Deleteable().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserGrp && it.F_ITEMNO == keyValue).ExecuteCommand(); //ctx.Deleteable().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserGrp && it.F_OBJNO == keyValue).ExecuteCommand(); //ctx.Deleteable().Where(it => it.F_NO == keyValue).ExecuteCommand(); } catch (Exception ex) { throw ex; } } } }