using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.BZModels.Dto.UserCenterManager.UserGroupDtos; using WMS.BZModels; using WMS.BZModels.Models.UserCenterManager; using WMS.Info; using WMS.BZSqlSugar; using WMS.BZModels.Dto.UserCenterManager.UserRoleDtos; using Mapster; namespace WMS.BZServices.UserCenterManager { public class AclUserRoleService { private readonly Repository _acluserroleRepository; public AclUserRoleService(Repository acluserroleRepository) { _acluserroleRepository = acluserroleRepository; } /// /// 获取列表数据 /// /// 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 = _acluserroleRepository.Queryable().Where(predicate.ToExpression()).ToList(); return list.Adapt>(); } public PagedInfo GetPageList(Pagination pagination, AclUserRoleQueryDto 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 = _acluserroleRepository.Queryable().Where(predicate.ToExpression()) .ToPage(pagination); return list; } public Dictionary GetMap() { try { Dictionary dics = new Dictionary(); _acluserroleRepository.Queryable().ToList().ForEach(it => dics.Add(it.Id.ToString(), it.Adapt())); return dics; } catch (Exception ex) { throw ex; } } /// /// 获取实体数据 /// 主键 /// /// public AclUserRole GetEntityById(long keyValue) { try { return _acluserroleRepository.Queryable().Where(it => it.Id == keyValue).First(); } catch (Exception ex) { throw ex; } } /// /// 获取实体数据 /// 主键 /// /// public AclUserRole GetEntityByCode(string keyValue) { try { return _acluserroleRepository.Queryable().Where(it => it.Code == keyValue).First(); } catch (Exception ex) { throw ex; } } public void Save(LoginUserInfo loginUser, string keyValue, AclUserRole entity) { try { if (string.IsNullOrWhiteSpace(entity.Code)) { throw new ArgumentException("角色编号不能为空"); } if (keyValue.IsEmpty() || keyValue == "undefined") { var mat = _acluserroleRepository.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; _acluserroleRepository.Insert(entity); } else { entity.Id = Convert.ToInt64(keyValue); entity.EditTime = DateTime.Now; entity.EditWho = loginUser.UserNo; _acluserroleRepository.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) { _acluserroleRepository.Delete(entity); //_acluserroleRepository.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; } } } }