public DataPack <NoticeDto> FindNoticeList(EnumNoticeType?noticeType, string title, DateTime?startTime, DateTime?endTime, int currentPageIndex, int pageSize) { var user = AuthManager.GetCurrentUser(); if (user == null) { //throw new CustomException(10001,"获取当前用户出错"); Logger.WriteLog(LogType.ERROR, "获取当前用户出错"); } var code = user == null ? "" : user.CarrierCode;//运营Code //if (AuthManager.GetCurrentUser() == null && token != null) //{ // var auth = ObjectFactory.GetInstance<AuthService>(); // var user = auth.GetCurrentUserByToken(token); // code = user.CarrierCode; //} //else //{ // code = AuthManager.GetCurrentUser() != null ? AuthManager.GetCurrentUser().CarrierCode : code;//运营Code //} var query = noticeRepository.FindAll(p => p.State == true && (p.Code == code || (p.Code == "" && p.NoticeShowType.Contains("0")))); if (!string.IsNullOrEmpty(title)) { query = query.Where(p => p.Title.Contains(title)); } if (startTime.HasValue) { query = query.Where(p => p.CreateTime > startTime); } if (endTime.HasValue) { query = query.Where(p => p.CreateTime < endTime); } if (noticeType.HasValue) { var type = ((int)noticeType).ToString(); query = query.Where(p => p.NoticeType.Contains(type)); } var list = query.OrderByDescending(o => o.CreateTime).Skip((currentPageIndex - 1) * pageSize).Take(pageSize).ToList(); var datapack = new DataPack <NoticeDto>(); datapack.TotalCount = query.Count(); datapack.List = AutoMapper.Mapper.Map <List <Notice>, List <NoticeDto> >(list); return(datapack); }