Ejemplo n.º 1
0
        public IActionResult Buy(int productId)
        {
            var model = new BuyProductViewModel
            {
                Unit      = new int(),
                ProductId = productId
            };

            return(View(model));
        }
Ejemplo n.º 2
0
        public IActionResult Buy(BuyProductViewModel buyProductViewModel)
        {
            var result = _productService.Buy(buyProductViewModel.ProductId, buyProductViewModel.Unit);

            if (!result.Success)
            {
                return(RedirectToAction("InternalError", "Error", new { errorMessage = result.Message }));
            }

            TempData.Add(TempDataTypes.ProductBought, Messages.ProductBought);
            return(RedirectToAction("Index", "Admin"));
        }
Ejemplo n.º 3
0
        public IActionResult ShowProduct(BuyProductViewModel showProduct, int productId)
        {
            showProduct.Product = _productService.GetProductForShow(productId);
            ViewData["colors"]  = _productService.GetAllColors();
            ViewData["sizes"]   = _productService.GetAllSize();

            if (ModelState.IsValid)
            {
                if (showProduct.Product.IsActive == false)
                {
                    ModelState.AddModelError("quantityNumber", "محصول غیر فعال می باشد");
                    return(View(showProduct));
                }
                if (showProduct.Product.Count <= 0)
                {
                    ModelState.AddModelError("quantityNumber", "موجود نمی باشد");
                    return(View(showProduct));
                }
                if (showProduct.SizeId == 0)
                {
                    ModelState.AddModelError("SizeId", "انتخاب سایز اجباری است !");
                    return(View(showProduct));
                }
                if (showProduct.ColorId == 0)
                {
                    ModelState.AddModelError("ColorId", "انتخاب رنگ اجباری  است !");
                    return(View(showProduct));
                }
                if (showProduct.quantityNumber < 1)
                {
                    ModelState.AddModelError("quantityNumber", "کمترین تعداد سفارش 1 عدد می باشد !");
                    return(View(showProduct));
                }
                if (showProduct.quantityNumber > showProduct.Product.Count)
                {
                    ModelState.AddModelError("quantityNumber", "تعداد بیشتر از موجودی محصول می باشد");
                    return(View(showProduct));
                }

                return(RedirectToAction("BuyProduct", "Order", new
                {
                    colorId = showProduct.ColorId,
                    sizeId = showProduct.SizeId,
                    productId = showProduct.Product.Id,
                    quantityNumber = showProduct.quantityNumber
                }));
            }

            return(View(showProduct));
        }
        public IActionResult BuyProduct(BuyProductViewModel model)
        {
            var auction = context.Auctions.FirstOrDefault(e => e.ArticleId.Equals(model.ArticleId));
            var article = context.Articles.FirstOrDefault(e => e.Id.Equals(auction.ArticleId));

            if (auction == null || model.Username != auction.CurrentOwner || article == null)
            {
                return(View("NotFound"));
            }

            article.Sold = true;
            context.SaveChanges();

            return(RedirectToAction("Auctions", "Auction"));
        }
        public async Task <IActionResult> DetailsPOST(int id, int amount)
        {
            List <BuyProductViewModel> lstShoppingCart = HttpContext.Session.Get <List <BuyProductViewModel> >("ssShoppingCart");

            if (lstShoppingCart == null)
            {
                lstShoppingCart = new List <BuyProductViewModel>();
            }

            BuyProductViewModel buy = new BuyProductViewModel()
            {
                productId = id,
                amount    = amount
            };

            lstShoppingCart.Add(buy);
            HttpContext.Session.Set("ssShoppingCart", lstShoppingCart);
            return(RedirectToAction("Index", "Home", new { area = "Client" }));
        }
Ejemplo n.º 6
0
        public ActionResult Buy(BuyProductViewModel buyProductViewModel)
        {
            if (ModelState.IsValid)
            {
                _uow.BeginTransaction();
                try
                {
                    var totalPrice = buyProductViewModel.Price * buyProductViewModel.Quantity;

                    Order order = new Order {
                        CustomerId = 1
                    };
                    if (totalPrice != null)
                    {
                        order.TotalPrice = (decimal)totalPrice;
                    }

                    var createdOrder = _uow.Orders.Create(order);
                    _uow.Save();

                    OrderDetail detail = new OrderDetail();
                    detail.OrderId   = createdOrder.Id + 150;
                    detail.ProductId = (int)buyProductViewModel.Id;
                    detail.Quantity  = (int)buyProductViewModel.Quantity;

                    _uow.OrderDetails.Create(detail);
                    _uow.Save();

                    _uow.Commit();
                }
                catch (Exception e)
                {
                    _uow.Rollback();
                    ModelState.AddModelError(string.Empty, "");
                    return(View(buyProductViewModel));
                }

                return(RedirectToAction("Index"));
            }

            return(View(buyProductViewModel));
        }
Ejemplo n.º 7
0
        public IActionResult ShowProduct(int id)
        {
            var product = _productService.GetProductForShow(id);

            if (product != null)
            {
                product.Visit++;
                _productService.EditProduct(product);

                var showProduct = new BuyProductViewModel()
                {
                    Product = product
                };

                ViewData["colors"] = _productService.GetAllColors();
                ViewData["sizes"]  = _productService.GetAllSize();

                return(View(showProduct));
            }

            return(NotFound());
        }
Ejemplo n.º 8
0
        public ActionResult Buy(BuyProductViewModel buyProductViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var totalPrice = buyProductViewModel.Price * buyProductViewModel.Quantity;

                    Order order = new Order {
                        CustomerId = 1
                    };
                    if (totalPrice != null)
                    {
                        order.TotalPrice = (decimal)totalPrice;
                    }

                    var createdOrder = _uow.Orders.Create(order);
                    _uow.Save();

                    OrderDetail detail = new OrderDetail();
                    detail.OrderId   = createdOrder.Id;
                    detail.ProductId = (int)buyProductViewModel.Id;
                    detail.Quantity  = (int)buyProductViewModel.Quantity;

                    _uow.OrderDetails.Create(detail);
                    _uow.Save();
                }
                catch (Exception)
                {
                    return(View(buyProductViewModel));
                }

                return(RedirectToAction("Index"));
            }

            return(View(buyProductViewModel));
        }
        public async Task <IActionResult> Buy([FromBody] BuyProductViewModel command)
        {
            await _shopService.BuyProductAsync(command.ProductId, LoggedInUser);

            return(Ok());
        }