public async Task <APIResultDto> ExportExhibitionShopsExcel(GetExhibitionShopsInput input) { try { var exportData = await GetExhibitionShopsAsync(input); var result = new APIResultDto(); result.Code = 0; result.Data = SaveExhibitionShopsAsyncsExcel("陈列店铺.xlsx", exportData); return(result); } catch (Exception ex) { Logger.ErrorFormat("ExportPostInfoExcel errormsg:{0} Exception:{1}", ex.Message, ex); return(new APIResultDto() { Code = 901, Msg = "网络忙... 请待会重试!" }); } }
/// <summary> /// 获取ExhibitionShop的分页列表信息 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <ExhibitionShopListDto> > GetPagedExhibitionShops(GetExhibitionShopsInput input) { var query = _exhibitionshopRepository.GetAll(); //TODO:根据传入的参数添加过滤条件 var exhibitionshopCount = await query.CountAsync(); var exhibitionshops = await query .OrderBy(input.Sorting).AsNoTracking() .PageBy(input) .ToListAsync(); //var exhibitionshopListDtos = ObjectMapper.Map<List <ExhibitionShopListDto>>(exhibitionshops); var exhibitionshopListDtos = exhibitionshops.MapTo <List <ExhibitionShopListDto> >(); return(new PagedResultDto <ExhibitionShopListDto>( exhibitionshopCount, exhibitionshopListDtos )); }
private async Task <List <ExhibitionShopListDto> > GetExhibitionShopsAsync(GetExhibitionShopsInput input) { var exhibitons = _exhibitionshopRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.ShopName), v => v.ShopName.Contains(input.ShopName)); var retailer = _retailerRepository.GetAll(); var shop = _shopRepository.GetAll(); var result = (from e in exhibitons join r in retailer on e.RetailerId equals r.Id join s in shop on e.ShopId equals s.Id select new ExhibitionShopListDto() { Id = e.Id, ShopName = e.ShopName, CustCode = r.Code, CustName = r.Name, Area = r.Area, ShopAddress = e.ShopAddress, Phone = s.Tel, Votes = e.Votes != null ? e.Votes : 0, FansNum = s.FansNum }).WhereIf(!string.IsNullOrEmpty(input.Phone), v => v.Phone.Contains(input.Phone)) .WhereIf(!string.IsNullOrEmpty(input.CustCode), v => v.CustCode.Contains(input.CustCode)) .WhereIf(!string.IsNullOrEmpty(input.CustName), v => v.CustName.Contains(input.CustName)); if (input.SortFansTotal != null && input.SortFansTotal == "ascend") { var exhibitionshops = await result .OrderByDescending(v => v.FansNum).AsNoTracking() .PageBy(input) .ToListAsync(); var exhibitionshopListDtos = exhibitionshops.MapTo <List <ExhibitionShopListDto> >(); return(exhibitionshopListDtos); } else if (input.SortFansTotal != null && input.SortFansTotal == "descend") { var exhibitionshops = await result .OrderBy(v => v.FansNum).AsNoTracking() .PageBy(input) .ToListAsync(); var exhibitionshopListDtos = exhibitionshops.MapTo <List <ExhibitionShopListDto> >(); return(exhibitionshopListDtos); } else if (input.SortVotesTotal != null && input.SortVotesTotal == "ascend") { var exhibitionshops = await result .OrderByDescending(v => v.Votes).AsNoTracking() .PageBy(input) .ToListAsync(); var exhibitionshopListDtos = exhibitionshops.MapTo <List <ExhibitionShopListDto> >(); return(exhibitionshopListDtos); } else if (input.SortVotesTotal != null && input.SortVotesTotal == "descend") { var exhibitionshops = await result .OrderBy(v => v.Votes).AsNoTracking() .PageBy(input) .ToListAsync(); var exhibitionshopListDtos = exhibitionshops.MapTo <List <ExhibitionShopListDto> >(); return(exhibitionshopListDtos); } else { var exhibitionshops = await result .OrderByDescending(v => v.Votes).AsNoTracking() .PageBy(input) .ToListAsync(); var exhibitionshopListDtos = exhibitionshops.MapTo <List <ExhibitionShopListDto> >(); return(exhibitionshopListDtos); } }