Exemple #1
0
        public async Task <IActionResult> OnPostSkuListAsync(long ProductId)
        {
            ProductSkuSearch where = new ProductSkuSearch();
            where.ProductId        = ProductId;
            var list = await _skuService.GetListAsync(where, "OrderIndex asc");

            return(PagerData(list, 1, 999, list.Count));
        }
Exemple #2
0
        public async Task <IActionResult> Edit(long?id)
        {
            //生成编辑ID,sku变动时根据此ID来操作缓存数据
            var EditID = ID.NewID();

            ViewData["EditID"] = EditID;

            if (id.HasValue)
            {
                //编辑
                var model = await _service.GetByIdAsync(id.Value);

                if (model == null)
                {
                    throw new VinoDataNotFoundException("无法取得数据!");
                }

                //取得所有sku并保存到缓存
                ProductSkuSearch where = new ProductSkuSearch();
                where.ProductId        = model.Id;
                var skus = await _skuService.GetListAsync(where, null);

                if (skus == null)
                {
                    skus = new List <ProductSkuDto>();
                }
                foreach (var sku in skus)
                {
                    sku.ModifyStatus = Domain.Enum.EmEntityModifyStatus.UnChange;
                }
                var cacheKey = string.Format(CacheKeyDefinition.ProductSkuTemp, EditID);
                _cacheService.Add(cacheKey, skus, new TimeSpan(10, 0, 0));

                //取得商品类目数据
                var dict = new Dictionary <int, long>();
                if (model.CategoryId.HasValue)
                {
                    (await _productCategoryService.GetWithParentsAsync(model.CategoryId.Value)).ForEach(x => dict.Add(x.Level, x.Id));
                }

                ViewBag.Category = JsonConvert.SerializeObject(dict);

                ViewData["Mode"] = "Edit";
                return(View(model));
            }
            else
            {
                //新增
                ProductDto dto = new ProductDto();

                ViewBag.Category = "";

                ViewData["Mode"] = "Add";
                return(View(dto));
            }
        }