Пример #1
0
        public ActionResult Edit(long id)
        {
            var model = _iCollocationService.GetCollocation(id);

            if (model.ShopId != CurrentSellerManager.ShopId)
            {
                RedirectToAction("Management");
            }
            CollocationDataModel m = new CollocationDataModel();

            m.CreateTime = model.CreateTime.Value;
            m.EndTime    = model.EndTime;
            m.ShopId     = model.ShopId;
            m.ShortDesc  = model.ShortDesc;
            m.Title      = model.Title;
            m.StartTime  = model.StartTime;
            m.Id         = model.Id;
            var cProducts = _iCollocationService.GetProducts(new List <long> {
                model.Id
            });
            var cAllSKUs = _iCollocationService.GetSKUs(cProducts.Select(p => p.Id).ToList());
            var products = ProductManagerApplication.GetProductByIds(cProducts.Select(p => p.ProductId).ToList());
            var allSKUs  = ProductManagerApplication.GetSKUByProducts(products.Select(p => p.Id).ToList());

            m.CollocationPoruducts = cProducts.Select(a =>
            {
                var product = products.FirstOrDefault(p => p.Id == a.ProductId);
                var skus    = allSKUs.Where(p => p.ProductId == a.ProductId);
                var cSKUs   = cAllSKUs.Where(p => p.ColloProductId == a.Id);
                return(new CollocationPoruductModel()
                {
                    Id = a.Id,
                    ColloId = a.ColloId,
                    DisplaySequence = a.DisplaySequence,
                    IsMain = a.IsMain,
                    ProductId = a.ProductId,
                    ProductName = product ? .ProductName,
                    ImagePath = product ? .ImagePath,
                    CollocationSkus = cSKUs.Select(b =>
                    {
                        var sku = skus.FirstOrDefault(t => t.Id == b.SkuID);
                        return new CollocationSkus()
                        {
                            Id = b.Id,
                            Price = b.Price,
                            SkuID = b.SkuID,
                            SKUName = sku == null ? "" : sku.Color + " " + sku.Size + " " + sku.Version,
                            SkuPirce = b.SkuPirce,
                            ColloProductId = b.ColloProductId,
                            ProductId = b.ProductId
                        };
                    }).ToList()
                });
            }).OrderBy(a => a.DisplaySequence).ToList();

            var market = _iMarketService.GetMarketService(CurrentSellerManager.ShopId, MarketType.Collocation);

            ViewBag.EndTime = MarketApplication.GetServiceEndTime(market.Id).ToString("yyyy-MM-dd");
            return(View(m));
        }
        public ActionResult Edit(long id)
        {
            var model = _iCollocationService.GetCollocation(id);

            if (model.ShopId != CurrentSellerManager.ShopId)
            {
                RedirectToAction("Management");
            }
            CollocationDataModel m = new CollocationDataModel();

            m.CreateTime           = model.CreateTime.Value;
            m.EndTime              = model.EndTime;
            m.ShopId               = model.ShopId;
            m.ShortDesc            = model.ShortDesc;
            m.Title                = model.Title;
            m.StartTime            = model.StartTime;
            m.Id                   = model.Id;
            m.CollocationPoruducts = model.Himall_CollocationPoruducts.Select(a =>
            {
                var Sku = a.Himall_Products.SKUInfo.ToList();;
                return(new CollocationPoruductModel()
                {
                    Id = a.Id,
                    ColloId = a.ColloId,
                    DisplaySequence = a.DisplaySequence.Value,
                    IsMain = a.IsMain,
                    ProductId = a.ProductId,
                    ProductName = a.Himall_Products.ProductName,
                    ImagePath = a.Himall_Products.ImagePath,
                    CollocationSkus = a.Himall_CollocationSkus.Select(b =>
                    {
                        var cosku = Sku.FirstOrDefault(t => t.Id == b.SkuID);
                        return new CollocationSkus()
                        {
                            Id = b.Id,
                            Price = b.Price,
                            SkuID = b.SkuID,
                            SKUName = cosku.Color + " " + cosku.Size + " " + cosku.Version,
                            SkuPirce = b.SkuPirce.Value,
                            ColloProductId = b.ColloProductId,
                            ProductId = b.ProductId
                        };
                    }).ToList()
                });
            }).OrderBy(a => a.DisplaySequence).ToList();
            //var s = new Newtonsoft.Json.JsonSerializerSettings();
            //s.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            //var t = Newtonsoft.Json.JsonConvert.SerializeObject(m, s);
            //ViewBag.ColloJson = t;
            ViewBag.EndTime = _iMarketService.GetMarketService(CurrentSellerManager.ShopId, MarketType.Collocation).MarketServiceRecordInfo.Max(item => item.EndTime).ToString("yyyy-MM-dd");
            return(View(m));
        }
Пример #3
0
        public ActionResult Edit(long id)
        {
            CollocationInfo collocation = ServiceHelper.Create <ICollocationService>().GetCollocation(id);

            if (collocation.ShopId != base.CurrentSellerManager.ShopId)
            {
                RedirectToAction("Management");
            }
            CollocationDataModel collocationDataModel = new CollocationDataModel()
            {
                CreateTime           = collocation.CreateTime.Value,
                EndTime              = collocation.EndTime,
                ShopId               = collocation.ShopId,
                ShortDesc            = collocation.ShortDesc,
                Title                = collocation.Title,
                StartTime            = collocation.StartTime,
                Id                   = collocation.Id,
                CollocationPoruducts = collocation.ChemCloud_CollocationPoruducts.Select <CollocationPoruductInfo, CollocationPoruductModel>((CollocationPoruductInfo a) =>
                {
                    List <SKUInfo> list = a.ChemCloud_Products.SKUInfo.ToList();
                    return(new CollocationPoruductModel()
                    {
                        Id = a.Id,
                        ColloId = a.ColloId,
                        DisplaySequence = a.DisplaySequence.Value,
                        IsMain = a.IsMain,
                        ProductId = a.ProductId,
                        ProductName = a.ChemCloud_Products.ProductName,
                        ImagePath = a.ChemCloud_Products.ImagePath,
                        CollocationSkus = a.ChemCloud_CollocationSkus.Select <CollocationSkuInfo, CollocationSkus>((CollocationSkuInfo b) =>
                        {
                            SKUInfo sKUInfo = list.FirstOrDefault((SKUInfo t) => t.Id == b.SkuID);
                            return new CollocationSkus()
                            {
                                Id = b.Id,
                                Price = b.Price,
                                SkuID = b.SkuID,
                                SKUName = string.Concat(new string[] { sKUInfo.Color, " ", sKUInfo.Size, " ", sKUInfo.Version }),
                                SkuPirce = b.SkuPirce.Value,
                                ColloProductId = b.ColloProductId,
                                ProductId = b.ProductId
                            };
                        }).ToList()
                    });
                }).OrderBy <CollocationPoruductModel, int>((CollocationPoruductModel a) => a.DisplaySequence).ToList()
            };
            dynamic  viewBag  = base.ViewBag;
            DateTime dateTime = ServiceHelper.Create <IMarketService>().GetMarketService(base.CurrentSellerManager.ShopId, MarketType.Collocation).MarketServiceRecordInfo.Max <MarketServiceRecordInfo, DateTime>((MarketServiceRecordInfo item) => item.EndTime);

            viewBag.EndTime = dateTime.ToString("yyyy-MM-dd");
            return(View(collocationDataModel));
        }
Пример #4
0
        public ActionResult AddCollocation(string collocationjson)
        {
            CollocationDataModel collocationDataModel = JsonConvert.DeserializeObject <CollocationDataModel>(collocationjson);

            if (collocationDataModel == null)
            {
                throw new HimallException("添加组合购参数错误!");
            }
            CollocationInfo collocationInfo = new CollocationInfo()
            {
                CreateTime = new DateTime?(DateTime.Now),
                EndTime    = collocationDataModel.EndTime,
                ShopId     = base.CurrentSellerManager.ShopId,
                ShortDesc  = collocationDataModel.ShortDesc,
                Title      = collocationDataModel.Title,
                StartTime  = collocationDataModel.StartTime,
                Id         = collocationDataModel.Id,
                Himall_CollocationPoruducts = (
                    from a in collocationDataModel.CollocationPoruducts
                    select new CollocationPoruductInfo()
                {
                    Id = a.Id,
                    ColloId = a.ColloId,
                    DisplaySequence = new int?(a.DisplaySequence),
                    IsMain = a.IsMain,
                    ProductId = a.ProductId,
                    Himall_CollocationSkus = (
                        from b in a.CollocationSkus
                        select new CollocationSkuInfo()
                    {
                        Id = b.Id,
                        Price = b.Price,
                        SkuID = b.SkuID,
                        SkuPirce = new decimal?(b.SkuPirce),
                        ColloProductId = b.ColloProductId,
                        ProductId = b.ProductId
                    }).ToArray()
                }).ToArray()
            };

            ServiceHelper.Create <ICollocationService>().AddCollocation(collocationInfo);
            Result result = new Result()
            {
                success = true,
                msg     = "添加成功!"
            };

            return(Json(result));
        }