示例#1
0
        public async Task <IActionResult> AddProduct(OrderDetailTmpViewModel view)
        {
            var user = await _dataContext.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefaultAsync();

            if (ModelState.IsValid)
            {
                var orderDetailTmp = _dataContext.OrderDetailTmps.Where(odt => odt.Username == User.Identity.Name && odt.Product.Id == view.ProductId).FirstOrDefault();
                if (orderDetailTmp == null)
                {
                    var product = await _dataContext.Products.FindAsync(view.ProductId);

                    orderDetailTmp = new OrderDetailTmp
                    {
                        Id       = view.Id,
                        Name     = product.Name,
                        Price    = view.Price,
                        Quantity = view.Quantity,
                        Username = User.Identity.Name,
                        Product  = await _dataContext.Products.FindAsync(view.ProductId)
                    };
                    _dataContext.OrderDetailTmps.Add(orderDetailTmp);
                }
                else
                {
                    orderDetailTmp.Quantity += view.Quantity;
                    _dataContext.Entry(orderDetailTmp).State = EntityState.Modified;
                }
                await _dataContext.SaveChangesAsync();

                return(RedirectToAction("Create"));
            }

            view.Products = _combosHelper.GetComboProducts();
            return(View(view));
        }
示例#2
0
        public IActionResult AddProduct()
        {
            var model = new OrderDetailTmpViewModel
            {
                Products = _combosHelper.GetComboProducts()
            };

            return(View(model));
        }