Пример #1
0
        /// <summary>
        /// 根据ID来查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public CommodityServiceInfo GetCommodity(string id)
        {
            //Code Change
            Func<string, Tuple<CommodityDiscountInfoCNb, float>> _codeChangeFunc = new WeShopSeviceOverride().CommodityInfoQueryOnceOpeFunc;

            //创建
            CommodityServiceInfo serInfo = new CommodityServiceInfo();
            float fDiscountValue = 1.0f;

            //单纯商品数据
            //dynamic item = shopCommodityDal.Query("id=@ID", new { ID = id }).ElementAt(0);
            Tuple<CommodityDiscountInfoCNb, float> tupResult = _codeChangeFunc(id);
            CommodityDiscountInfoCNb commItem = tupResult.Item1;
            fDiscountValue = tupResult.Item2;

            //Dynamic赋值
            serInfo.SCommodityInfo = commItem;
            serInfo.DiscountValue = fDiscountValue;

            //商品规格数据List
            IEnumerable<dynamic> itemOption = new WX_ShopCommodityOptionDAL().Query("CommodityID = @ID ORDER BY iOrder", new { ID = id });
            if (itemOption.Count() > 0)
            { //需要备注价格区间
                string maxPrice = itemOption.Max(x => x.Price * fDiscountValue).ToString();
                string minPrice = itemOption.Min(x => x.Price * fDiscountValue).ToString();

                //价格区间,最大值最小值相同,则只展示一个价位
                string strPriceInterval = maxPrice.Equals(minPrice) ? maxPrice : string.Format("{0} - {1}", minPrice, maxPrice);

                serInfo.SCommodityPriceInterVal = strPriceInterval;
            }
            else
            {
                serInfo.SCommodityPriceInterVal = serInfo.SCommodityInfo.DiscountPrice.ToString();
            }
            serInfo.SCommdityOptionInfo = itemOption;

            //商品图片信息
            IEnumerable<dynamic> PhotoDetail = photoDicDAL.Query("Source=@Source AND RelationID=@RelationID AND Flag IN (2,3) Order by iOrder",
                                new { Source = "commodity", RelationID = id });
            serInfo.SDicPhoto.Add(2, PhotoDetail.Where(x => x.Flag.Equals(2)).Select(x => x.Value.ToString()).ToArray());
            serInfo.SDicPhoto.Add(3, PhotoDetail.Where(x => x.Flag.Equals(3)).Select(x => x.Value.ToString()).ToArray());

            //商品运送方式
            serInfo.SPostType = commItem.PostType.Equals(0) ? ZZSCResource.PostOption(commItem.PostType) : commItem.PostPrice.ToString();

            return serInfo;
        }
Пример #2
0
        public object AddCommodityOption()
        {
            object model = new
            {
                ID = Guid.NewGuid().ToString("N"),
                CommodityID = "0a05c53871b84921987cf763e55463a9",
                Name = "精装版",
                Price = "199",
                Flag = 1,
                Remark = string.Empty
            };

            object modelNa = new
            {
                ID = Guid.NewGuid().ToString("N"),
                CommodityID = "0a05c53871b84921987cf763e55463a9",
                Name = "豪华版",
                Price = "299",
                Flag = 1,
                Remark = string.Empty
            };

            var dal = new WX_ShopCommodityOptionDAL();

            dal.Add(model);
            return dal.Add(modelNa);
        }