public async Task <IActionResult> Product(string productid)
        {
            CacheProductList ProductList = await _YoungoServer.GetCacheProductList();

            ProductWap   _product = new ProductWap();
            ProductModel product  = ProductList.ProductList.Find(a => a.ProductID == productid);
            ResponseResult <ProductResources> responseResult = await _YoungoServer.GetProductResources(productid);

            ProductResources resources = new ProductResources();

            if (responseResult.IsSuccess)
            {
                resources = responseResult.Content;
            }
            _product.ProductID     = productid;
            _product.Name          = product.CnName;
            _product.PurchasePrice = product.PurchasePrice;
            _product.Introduce     = product.Introduce;
            _product.Type          = product.Type;
            _product.SalesVolume   = product.SalesVolume;
            _product.Explain       = ProductList.ExpressList.Find(a => a.ExpressCode == product.ExpressCode).Explain;
            _product.Remarks       = product.Remarks;
            _product.CostPrice     = product.CostPrice;
            _product.ResourcesList = resources.ResourcesList;
            _product.CommentList   = resources.CommentList;
            _product.Brand         = product.Brand;
            ViewBag.Title          = "产品详情";
            return(View(_product));
        }
        public async Task <IActionResult> Index()
        {
            CacheProductList ProductList = await _YoungoServer.GetCacheProductList();

            ViewBag.Title = "分类列表";
            return(View(ProductList));
        }
Example #3
0
        public async Task <IActionResult> AddProductCart(int customerId, string productId)
        {
            CacheProductList list = await _YoungoServer.GetCacheProductList();

            if (_YoungoServer.IsExistenceCart(customerId))
            {
                ShopCart cart = _YoungoServer.GetShopCart(customerId);
                if (cart.ProductList.All(a => a.ProductID == productId))
                {
                    ProductList productList = cart.ProductList.Find(a => a.ProductID == productId);
                    cart.ProductList.Remove(productList);
                    productList.Number++;
                    productList.TotalPrice = productList.Number * productList.Product.PurchasePrice;
                    cart.ProductList.Add(productList);
                    if (_YoungoServer.ClearShopCart(customerId))
                    {
                        result.IsSuccessful = _YoungoServer.CreateShopCart(cart);
                        return(View(result));
                    }
                    else
                    {
                        result.ReasonDescription = "清空购物车货失败!";
                        return(View(result));
                    }
                }
                else
                {
                    ProductList  productList = new ProductList();
                    ProductModel product     = list.ProductList.Find(a => a.ProductID == productId);
                    productList.Product    = product;
                    productList.Number     = 1;
                    productList.ProductID  = productId;
                    productList.TotalPrice = product.PurchasePrice;
                    cart.ProductList.Add(productList);
                    result.IsSuccessful = _YoungoServer.ModifyShopCart(cart);
                    return(View(result));
                }
            }
            else
            {
                ShopCart cart = new ShopCart
                {
                    CustomerID = customerId
                };
                ProductList  productList = new ProductList();
                ProductModel product     = list.ProductList.Find(a => a.ProductID == productId);
                productList.Product    = product;
                productList.Number     = 1;
                productList.ProductID  = productId;
                productList.TotalPrice = product.PurchasePrice;
                cart.ProductList       = new List <ProductList>
                {
                    productList
                };
                result.IsSuccessful = _YoungoServer.CreateShopCart(cart);
                return(View(result));
            }
        }
        public async Task <IActionResult> ProductList(string keyword)
        {
            ViewBag.Title = "产品列表";
            CacheProductList ProductList = await _YoungoServer.GetCacheProductList();

            List <ProductModel> list = ProductList.ProductList.Where(a => a.CnName.Contains(keyword) || a.Brand.Contains(keyword) || a.BrandIntroduce.Contains(keyword)).ToList();

            return(View(list));
        }
        public void Setup()
        {
            IEnumerable <MProduct> dummy = getDummyContents();

            mockOpr = new Mock <IBusinessOperationQuery <MProduct> >();
            mockOpr.Setup(foo => foo.Apply(null, null)).Returns(dummy);
            mockCache = new Mock <CacheProductList>()
            {
                CallBase = true
            };
            cache = mockCache.Object;
            cache.SetOperation(mockOpr.Object);
            realCache = new CacheProductList();
        }
Example #6
0
        public async Task <IActionResult> SubmitCart([FromForm] ShoppingCartFrom fromData)
        {
            CacheProductList ProductList = await _YoungoServer.GetCacheProductList();

            DeliveryAddress DeliveryAddress = new DeliveryAddress();
            ResponseResult <DeliveryAddress> responseResult = await _YoungoServer.GetDefaultAddress(fromData.CustomerID);

            if (responseResult.IsSuccess)
            {
                DeliveryAddress = responseResult.Content;
            }
            ShopCart cart       = new ShopCart();
            float    TotalPrice = 0;

            string[] isCheck   = fromData.CartCheck.Split(',');
            string[] productID = fromData.ProductID.Split(',');
            string[] _number   = fromData.Number.Split(',');
            if (DeliveryAddress != null && DeliveryAddress != new DeliveryAddress())
            {
                cart.Address = DeliveryAddress;
            }
            cart.OrderId     = _YoungoServer.CreateOrderID();
            cart.CustomerID  = fromData.CustomerID;
            cart.OrderState  = OrderStateEnum.WaitPayment;
            cart.PaymentType = PaymentTypeEnum.WeChatPayment;
            for (int i = 0; i < isCheck.Count(); i++)
            {
                if (isCheck[i] == "true")
                {
                    ProductModel product  = ProductList.ProductList.Where(a => a.ProductID == productID[i]).ToList()[0];
                    int          number   = int.Parse(_number[i]);
                    ProductList  _product = new ProductList
                    {
                        Number     = number,
                        Product    = product,
                        ProductID  = productID[i],
                        TotalPrice = number * product.PurchasePrice
                    };
                    cart.ProductList.Add(_product);
                    TotalPrice += TotalPrice;
                }
            }
            cart.ProductPrice = TotalPrice;
            //运费
            cart.FreightPrice = 0;
            cart.TotalPrice   = cart.ProductPrice + cart.FreightPrice;
            _YoungoServer.CreateTemporaryShopCart(cart);
            return(View("OrderConfirm", cart));
        }
Example #7
0
        /// <summary>
        /// 获取商品列表
        /// </summary>
        /// <returns></returns>
        public CacheProductList GetCacheProductList()
        {
            CacheProductList _CacheProductList = new CacheProductList
            {
                ProductTypeList = _db.Queryable <ProductType>().Where(a => a.State).ToList()
            };
            string sql = @"SELECT
	                        p.Id,
	                        p.ProductID,
	                        p.Label,
	                        p.CnName,
	                        p.EnName,
	                        p.ExpressCode,
	                        p.Weight,
	                        p.CostPrice,
	                        p.PurchasePrice,
	                        p.Introduce,
	                        p.Type,
	                        p.Remarks,
	                        p.SalesVolume,
	                        p.Stock,
	                        p.IsTop,
	                        p.IsOutOfStock,
	                        p.IsClearStock,
	                        p.State,
	                        p.IsDelete,
	                        p.OnlineTime,
	                        p.Brand,
	                        p.BrandIntroduce,
	                        p.CreatTime,
                            r.Address as Picture
                        FROM
	                        Product AS p
                        LEFT JOIN Resources AS r ON p.ProductID = r.ProductID AND r.Type = 1 
                        WHERE p.State";

            _CacheProductList.ProductList = _db.Ado.SqlQuery <ProductModel>(sql).ToList();
            _CacheProductList.ExpressList = _db.Queryable <Express>().Where(a => !a.IsStop & a.IsDefault).ToList();
            return(_CacheProductList);
        }