示例#1
0
        public ActionResult AddProduct(AddProductView view)
        {
            var user = db.Users.Where(c => c.UserName == User.Identity.Name).FirstOrDefault();

            if (ModelState.IsValid)
            {
                var ordetailtmp = db.OrderDetailTmps.Where(odt => odt.UserName == User.Identity.Name && odt.ProductId == view.ProductId).FirstOrDefault();
                if (ordetailtmp == null)
                {
                    var product = db.Products.Find(view.ProductId);
                    ordetailtmp = new OrderDetailTmp
                    {
                        Description = product.Description,
                        Price       = product.Price,
                        ProductId   = product.ProductId,
                        Quantity    = view.Quantity,
                        TaxRate     = product.Tax.Rate,
                        UserName    = User.Identity.Name,
                    };
                    db.OrderDetailTmps.Add(ordetailtmp);
                }
                else
                {
                    ordetailtmp.Quantity       += view.Quantity;
                    db.Entry(ordetailtmp).State = EntityState.Modified;
                }
                db.SaveChanges();
                return(RedirectToAction("Create"));
            }
            ViewBag.ProductId = new SelectList(CombosHelper.GetProducts(user.CompanyId, false), "ProductId", "Description");
            return(PartialView());
        }
示例#2
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));
        }
示例#3
0
        public ActionResult AddProduct(AddProductView addProductView)
        {
            if (ModelState.IsValid)
            {
                var product = db.Products.Find(addProductView.ProductId);

                var orderDetailTmp = new OrderDetailTmp
                {
                    Description = product.Description,
                    Price       = product.Price,
                    ProductId   = product.ProductId,
                    Quantity    = addProductView.Quantity,
                    TaxRate     = product.Tax.Rate,
                    UserName    = User.Identity.Name
                };

                db.OrderDetailTmps.Add(orderDetailTmp);
                db.SaveChanges();

                return(RedirectToAction("Create"));
            }

            var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();

            ViewBag.ProductId = new SelectList(CombosHelpers.GetProducts(user.CompanyId), "ProductId", "Description");

            return(View());
        }
        public ActionResult DeleteConfirmed(int id)
        {
            OrderDetailTmp orderDetailTmp = db.OrderDetailTmp.Find(id);

            db.OrderDetailTmp.Remove(orderDetailTmp);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "OrderDetailTmpId,PriceListPartId,PartId,Reference,PartNum,OrderQty,UnitPrice,TaxAmt,Total")] OrderDetailTmp orderDetailTmp)
 {
     if (ModelState.IsValid)
     {
         db.Entry(orderDetailTmp).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(orderDetailTmp));
 }
        public ActionResult Create([Bind(Include = "OrderDetailTmpId,PriceListPartId,PartId,Reference,PartNum,OrderQty,UnitPrice,TaxAmt,Total")] OrderDetailTmp orderDetailTmp)
        {
            if (ModelState.IsValid)
            {
                db.OrderDetailTmp.Add(orderDetailTmp);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(orderDetailTmp));
        }
        // GET: OrderDetailTmps/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OrderDetailTmp orderDetailTmp = db.OrderDetailTmp.Find(id);

            if (orderDetailTmp == null)
            {
                return(HttpNotFound());
            }
            return(View(orderDetailTmp));
        }
示例#8
0
        public ActionResult ShoppingCart(int?companyId, int?productId, int?quantity)
        {
            if (companyId == null || productId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (quantity == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (quantity < 0)
            {
                quantity = 1;
            }

            var product = db.Products
                          .Where(p => p.CompanyId == companyId &&
                                 p.ProductId == productId)
                          .FirstOrDefault();

            var orderDetailTmp = db.OrderDetailTmps
                                 .Where(odt => odt.UserName == User.Identity.Name && odt.ProductId == product.ProductId)
                                 .FirstOrDefault();

            if (orderDetailTmp == null)
            {
                orderDetailTmp = new OrderDetailTmp
                {
                    Description = product.Description,
                    Price       = product.Price,
                    ProductId   = product.ProductId,
                    Quantity    = Convert.ToDouble(quantity),
                    TaxRate     = product.Tax.Rate,
                    UserName    = User.Identity.Name
                };
                db.OrderDetailTmps.Add(orderDetailTmp);
            }
            else
            {
                orderDetailTmp.Quantity       += Convert.ToDouble(quantity);
                db.Entry(orderDetailTmp).State = EntityState.Modified;
            }
            db.SaveChanges();

            return(RedirectToAction("Index", "Catalog"));
        }
示例#9
0
        public ActionResult AddProduct(AddProductView newProduct)
        {
            var user = db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name);

            if (ModelState.IsValid)
            {
                var orderDetailTmp = db.OrderDetailTmps.FirstOrDefault(odt => odt.UserName == User.Identity.Name && odt.ProductId == newProduct.ProductId);
                if (orderDetailTmp == null)
                {
                    var product = db.Products.Find(newProduct.ProductId);
                    orderDetailTmp = new OrderDetailTmp
                    {
                        Description = product.Description,
                        Price       = product.Price,
                        ProductId   = product.ProductId,
                        Quantity    = newProduct.Quantity,
                        TaxRate     = product.Tax.Rate,
                        UserName    = User.Identity.Name,
                    };

                    db.OrderDetailTmps.Add(orderDetailTmp);
                }
                else
                {
                    orderDetailTmp.Quantity       += newProduct.Quantity;
                    db.Entry(orderDetailTmp).State = EntityState.Modified;
                }
                var responseSave = DBHelper.SaveChanges(db);
                if (responseSave.Succeeded)
                {
                    return(RedirectToAction("Create"));
                }
                ModelState.AddModelError(string.Empty, responseSave.Message);
            }
            var adminUser = WebConfigurationManager.AppSettings["AdminUser"];

            if (adminUser == User.Identity.Name)
            {
                ViewBag.ProductId = new SelectList(CombosHelper.GetProducts(), "ProductId", "Description");
            }
            else
            {
                ViewBag.ProductId = new SelectList(CombosHelper.GetProducts(user.CompanyId), "ProductId", "Description");
            }
            return(PartialView(newProduct));
        }
示例#10
0
        public ActionResult AddProduct(AddProductViewVendas view)
        {
            var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();

            if (ModelState.IsValid)
            {
                var orderDetailTmps = db.OrderDetailTmp.Where(odt => odt.UserName == User.Identity.Name && odt.ProductId == view.ProductId).FirstOrDefault();
                if (orderDetailTmps == null)
                {
                    var product = db.Products.Find(view.ProductId);
                    orderDetailTmps = new OrderDetailTmp
                    {
                        Description = product.Description,
                        Price       = product.Price,
                        ProductId   = product.ProductId,
                        Quantity    = view.Quantity,
                        TaxRate     = product.Tax.Rate,
                        UserName    = User.Identity.Name,
                    };

                    db.OrderDetailTmp.Add(orderDetailTmps);
                }
                else
                {
                    orderDetailTmps.Quantity       += view.Quantity;
                    db.Entry(orderDetailTmps).State = EntityState.Modified;
                }

                var quantity  = view.Quantity;
                var inventory = db.Inventories.Where(i => i.ProductId == view.ProductId).FirstOrDefault();
                inventory.Stock -= quantity;

                if (orderDetailTmps.Product.Stock >= 0)
                {
                    db.SaveChanges();
                    return(RedirectToAction("Create"));
                }
                else
                {
                    return(RedirectToAction("InventoryValidate"));
                }
            }

            ViewBag.ProductId = new SelectList(CombosHelper.GetProducts(user.CompanyId), "ProductId", "Description");
            return(PartialView());
        }
        public ActionResult AddProduct(AddproductView view)
        {
            if (ModelState.IsValid)
            {
                var orderDetailTmpConsulta = db.OrderDetailTmp.Where(o => o.UserId == 1 && o.PartId == view.PartId).FirstOrDefault();

                if (orderDetailTmpConsulta == null)
                {
                    var priceListParts = db.PriceListParts.Where(p => p.PriceListId == view.PriceListId && p.PartId == view.PartId).FirstOrDefault();
                    var part           = db.Parts.Find(view.PartId);
                    var orderDetailTmp = new OrderDetailTmp
                    {
                        OrderQty        = view.OrderQty,
                        PartId          = view.PartId,
                        PartNum         = part.PartNum,
                        PartDescription = part.PartDescription,
                        PriceListPartId = priceListParts.PriceListPartId,
                        Reference       = view.Reference,
                        TaxAmt          = 0,
                        Total           = view.OrderQty * view.UnitPrice,
                        UnitPrice       = view.UnitPrice,
                        UserId          = 1
                    };
                    db.OrderDetailTmp.Add(orderDetailTmp);
                }
                else
                {
                    orderDetailTmpConsulta.OrderQty       += view.OrderQty;
                    db.Entry(orderDetailTmpConsulta).State = EntityState.Modified;
                }

                db.SaveChanges();
                //view.OrderQty = 0;
                //view.UnitPrice = 0;
                //view.Reference = 0;

                // return View(view);
                return(RedirectToAction("Create"));
            }

            ViewBag.PriceListId = new SelectList(db.PriceLists.Where(p => p.PriceListId == view.PriceListId), "PriceListId", "ListDescription");
            ViewBag.PartId      = new SelectList(CombosHelper.GetPriceListPart(view.PriceListId), "PartId", "PartDescription");
            return(View(view));
        }
示例#12
0
        public ActionResult AddProduct(AddProductView view)
        {
            var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();

            if (ModelState.IsValid)
            {
                var OrderDetailTmp = db.OrderDetailTmps.Where(odt => odt.UserName == User.Identity.Name && odt.ProductId == view.ProductId).FirstOrDefault();
                if (OrderDetailTmp == null)
                {
                    var product = db.Products.Find(view.ProductId);
                    OrderDetailTmp = new OrderDetailTmp
                    {
                        Description = product.Description,
                        Price       = product.Price,
                        ProductId   = product.ProductId,
                        Quantity    = view.Quantity,
                        TaxRate     = product.Tax.Rate,
                        UserName    = User.Identity.Name,
                    };
                    db.OrderDetailTmps.Add(OrderDetailTmp);
                }
                else
                {
                    OrderDetailTmp.Quantity       += view.Quantity;
                    db.Entry(OrderDetailTmp).State = EntityState.Modified;
                }
                try
                {
                    db.SaveChanges();
                    return(RedirectToAction("Create"));
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
            }

            ViewBag.ProductId = new SelectList(CombosHelper.GetProducts(user.CompanyId), "ProductId", "Description");
            return(PartialView());
        }