示例#1
0
        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
            });
        }
示例#2
0
        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);
            }
        }