public async Task <ApiResult> Detail(GoodsDetailModel model) { string parm = await settingService.GetParmByNameAsync("网站域名"); GoodsDTO dto = await goodsService.GetModelAsync(model.Id); GoodsImgSearchResult result = await goodsImgService.GetModelListAsync(dto.Id, null, null, null, 1, 100); GoodsDetailApiModel apiModel = new GoodsDetailApiModel(); apiModel.goodsImgs = result.GoodsImgs.Select(g => new GoodsImg { id = g.Id, imgUrl = parm + g.ImgUrl }).ToList(); if (dto != null) { apiModel.id = dto.Id; apiModel.description = dto.Description.Replace("/upload/", parm + "/upload/"); apiModel.inventory = dto.Inventory; apiModel.name = dto.Name; apiModel.price = dto.Price; apiModel.realityPrice = dto.RealityPrice; apiModel.saleNum = dto.SaleNum; } return(new ApiResult { status = 1, data = apiModel }); }
public async Task <GoodsImgSearchResult> GetModelListAsync(long?goodsId, string keyword, DateTime?startTime, DateTime?endTime, int pageIndex, int pageSize) { using (MyDbContext dbc = new MyDbContext()) { GoodsImgSearchResult result = new GoodsImgSearchResult(); var entities = dbc.GetAll <GoodsImgEntity>().AsNoTracking(); if (goodsId != null) { entities = entities.Where(a => a.GoodsId == goodsId); } if (!string.IsNullOrEmpty(keyword)) { entities = entities.Where(g => g.Name.Contains(keyword) || g.Description.Contains(keyword)); } if (startTime != null) { entities = entities.Where(a => a.CreateTime >= startTime); } if (endTime != null) { entities = entities.Where(a => SqlFunctions.DateDiff("day", endTime, a.CreateTime) <= 0); } result.PageCount = (int)Math.Ceiling((await entities.LongCountAsync()) * 1.0f / pageSize); var goodsImgsResult = await entities.OrderByDescending(a => a.CreateTime).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToListAsync(); result.GoodsImgs = goodsImgsResult.Select(a => ToDTO(a)).ToArray(); return(result); } }