public IActionResult List(PageListParams <PositionParams> model) { var where = ExpressionBuilder.Init <Position>(); var param = model.Params; if (!param.PositionName.IsNullOrEmpty()) { where = where.And(a => a.Name.Contains(param.PositionName)); } var positionList = _positionService.GetPageList(model.Page, model.Limit, where); var dministratorList = _administratorService.GetListByIds(positionList.Items.Select(a => a.AdministratorId).ToList()); var result = _positionService.GetPageList(model.Page, model.Limit, where).UpdateForPageListResult(a => { var dministrator = dministratorList.FirstOrDefault(b => b.Id == a.AdministratorId); return(new PositionModel { Id = a.Id.ToString(), Name = a.Name, Remark = a.Remark ?? "", UpdateDateTime = a.UpdateDateTime, AdministratorName = dministrator == null ? "" : dministrator.RealName }); }); return(PageList(result)); }
public IActionResult List(PageListParams <RoleParams> model) { var where = ExpressionBuilder.Init <Role>(); var param = model.Params; if (!param.RoleName.IsNullOrEmpty()) { where = where.And(a => a.Name.Contains(param.RoleName)); } var result = _roleService.GetPageList(model.Page, model.Limit, where).UpdateForPageListResult(a => a.MapTo <RoleVo>()); return(PageList(result)); }
public IActionResult List(PageListParams <ListSearchParams> model) { var where = ExpressionBuilder.Init <Administrator>(); var param = model.Params; if (!param.RealName.IsNullOrEmpty()) { where = where.And(a => a.RealName.Contains(param.RealName)); } if (!param.UserName.IsNullOrEmpty()) { where = where.And(a => a.UserName.Contains(param.UserName)); } if (param.Status.HasValue) { where = where.And(a => a.Status == param.Status.Value); } if (!param.DepartmentId.IsNullOrEmpty()) { where = where.And(a => a.DepartmentId == param.DepartmentId.ToObjectId()); } if (!param.PositionId.IsNullOrEmpty()) { where = where.And(a => a.PositionIds.Contains(param.DepartmentId.ToObjectId())); } if (!param.RoleId.IsNullOrEmpty()) { where = where.And(a => a.RoleIds.Contains(param.RoleId.ToObjectId())); } var administratorList = _administratorService.GetPageList(model.Page, model.Limit, where); var departmentList = _departmentService.GetByIds(administratorList.Items.Select(a => a.DepartmentId).ToList()); var roleList = _roleService.GetByIds(administratorList.Items.SelectMany(a => a.RoleIds)); var positionList = _positionService.GetByIds(administratorList.Items.SelectMany(a => a.PositionIds)); var result = _administratorService.GetPageList(model.Page, model.Limit, where).UpdateForPageListResult(a => { var department = departmentList.FirstOrDefault(b => b.Id == a.DepartmentId); var role = roleList.Where(b => Enumerable.Contains(a.RoleIds, b.Id)).Aggregate("", (current, item) => current + (item.Name + ",")).Trim(','); var position = positionList.Where(b => Enumerable.Contains(a.PositionIds, b.Id)).Aggregate("", (current, item) => current + (item.Name + ",")).Trim(','); return(new AdministratorListVo { CreateDateTime = a.CreateDateTime, RealName = a.RealName, Status = a.Status.GetDisplayName(), StatusForInt = a.Status.GetHashCode(), UserName = a.UserName, Id = a.Id.ToString(), Phone = a.Phone, Position = position, Role = role, Department = department?.Name, }); }); return(PageList(result)); }