private async Task <List <AdviseListDto> > GetAdviseListAsync(GetAdvisesInput input) { //var mid = UserManager.GetControlEmployeeId(); var queryAd = _adviseRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Filter), a => a.Title.Contains(input.Filter) || a.Phone.Contains(input.Filter) || a.Content.Contains(input.Filter)); var queryWe = _wechatuserRepository.GetAll(); var query = (from ad in queryAd join we in queryWe on ad.OpenId equals we.OpenId into aw from de in aw.DefaultIfEmpty() select new AdviseListDto() { Title = ad.Title, UserTypeName = ad.UserTypeName, OpenId = ad.OpenId, Phone = ad.Phone, Content = ad.Content, PhotoUrl = ad.PhotoUrl, TenantId = ad.TenantId, CreationTime = ad.CreationTime, UserName = de.NickName != null ? de.NickName : "", }).WhereIf(!string.IsNullOrEmpty(input.Name), aw => aw.UserName.Contains(input.Name)); var advises = await query.ToListAsync(); var advisesDtos = advises.MapTo <List <AdviseListDto> >(); return(advisesDtos); }
/// <summary> /// 获取Advise的分页列表信息 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <AdviseListDto> > GetPagedAdvises(GetAdvisesInput input) { var query = _adviseRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Filter), a => a.Title.Contains(input.Filter) || a.Phone.Contains(input.Filter) || a.Content.Contains(input.Filter)); //TODO:根据传入的参数添加过滤条件 var adviseCount = await query.CountAsync(); var advises = await query .OrderByDescending(a => a.CreationTime) .PageBy(input) .ToListAsync(); //var adviseListDtos = ObjectMapper.Map<List <AdviseListDto>>(advises); var adviseListDtos = advises.MapTo <List <AdviseListDto> >(); return(new PagedResultDto <AdviseListDto>( adviseCount, adviseListDtos )); }
public async Task <APIResultDto> ExportAdviseExcel(GetAdvisesInput input) { try { var exportData = await GetAdviseListAsync(input); var result = new APIResultDto(); result.Code = 0; result.Data = SaveAdviseExcel("意见反馈.xlsx", exportData); return(result); } catch (Exception ex) { Logger.ErrorFormat("ExportPostInfoExcel errormsg:{0} Exception:{1}", ex.Message, ex); return(new APIResultDto() { Code = 901, Msg = "网络忙... 请待会重试!" }); } }
/// <summary> /// 获取Advise的分页列表信息连接WeChatUser表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <AdviseListDto> > GetPagedAdvisesReferenceWeChatUser(GetAdvisesInput input) { var queryAd = _adviseRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Filter), a => a.Title.Contains(input.Filter) || a.Phone.Contains(input.Filter) || a.Content.Contains(input.Filter)); var queryWe = _wechatuserRepository.GetAll(); var query = (from ad in queryAd join we in queryWe on ad.OpenId equals we.OpenId into aw from de in aw.DefaultIfEmpty() select new AdviseListDto() { Id = ad.Id, Title = ad.Title, UserTypeName = ad.UserTypeName, OpenId = ad.OpenId, Phone = ad.Phone, Content = ad.Content, PhotoUrl = ad.PhotoUrl, TenantId = ad.TenantId, CreationTime = ad.CreationTime, UserName = de.NickName != null ? de.NickName : "", }).WhereIf(!string.IsNullOrEmpty(input.Name), aw => aw.UserName.Contains(input.Name)); //query = query.WhereIf(!string.IsNullOrEmpty(input.Name), aw => aw.UserName.Contains(input.Name)); //TODO:根据传入的参数添加过滤条件 var adviseCount = await query.CountAsync(); var advises = await query .OrderByDescending(a => a.CreationTime) .ToListAsync(); //var adviseListDtos = ObjectMapper.Map<List <AdviseListDto>>(advises); var adviseListDtos = advises.MapTo <List <AdviseListDto> >(); return(new PagedResultDto <AdviseListDto>( adviseCount, adviseListDtos )); }