/// <summary> /// It is for such situation that deponds on whether or no stock item /// </summary> /// <param name="invoiceItem"></param> /// <param name="stockitem"></param> /// <param name="dif"></param> /// <returns></returns> private ActionResult DoBaseOnDiffer(InvoiceItem invoiceItem, DomainModel.Order.StockItem stockitem, int dif) { if (dif > 0) { //if ((stockitem.Quantity - dif) > 0) //{ db.SaveChanges(); stockitem.Quantity -= dif; db.Entry(stockitem).State = EntityState.Modified; db.SaveChanges(); TempData["message"] = "ویرایش انجام شد"; TempData["success"] = "true"; return(Json(new { success = true })); //} //else //{ // TempData["message"] = "موجودی منفی می شود.ویرایش لغو شد"; // TempData["success"] = "false"; // return Json(new { success = true }); //} } else { InsertNewInvoiceItem(dif, stockitem); TempData["message"] = "ویرایش انجام شد"; TempData["success"] = "true"; return(Json(new { success = true })); } }
public ActionResult DeleteConfirmed(int id) { DomainModel.Order.StockItem stockItem = db.StockItems.Find(id); db.StockItems.Remove(stockItem); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// pass the invoice item and stock item to update them /// </summary> /// <param name="invoiceItem"></param> /// <param name="stockitem"></param> /// <exception cref="adsfasd"></exception> private void InsertNewInvoiceItem(int dif, DomainModel.Order.StockItem stockitem) { TempData["message"] = dif.ToString(); TempData["success"] = true; stockitem.Quantity -= dif; db.SaveChanges(); db.Entry(stockitem).State = EntityState.Modified; db.SaveChanges(); }
public ActionResult Edit([Bind(Include = "Id,Quantity,Price,ProductId")] DomainModel.Order.StockItem stockItem) { if (ModelState.IsValid) { db.Entry(stockItem).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ProductId = new SelectList(db.Products, "Id", "Name", stockItem.ProductId); return(View(stockItem)); }
// GET: StockItems/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DomainModel.Order.StockItem stockItem = db.StockItems.Find(id); if (stockItem == null) { return(HttpNotFound()); } return(View(stockItem)); }
// GET: StockItems/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DomainModel.Order.StockItem stockItem = db.StockItems.Find(id); if (stockItem == null) { return(HttpNotFound()); } ViewBag.ProductId = new SelectList(db.Products, "Id", "Name", stockItem.ProductId); return(View(stockItem)); }
private void RollbackStockItem(InvoiceItem invoiceItem) { int i = int.Parse(Session["productId"].ToString()); var st = db.StockItems .Where(s => s.ProductId == i) .FirstOrDefault(); st.Quantity += int.Parse(Session["quantity"].ToString()); //update the invoice item db.SaveChanges(); //roll back the quantity of stock item db.Entry(st).State = EntityState.Modified; db.SaveChanges(); //کسر از موجودی بر اساس آیتم فعلی var stockItem = db.StockItems .Where(x => x.ProductId == invoiceItem.ProductId).FirstOrDefault(); if (stockItem != null) { stockItem.Quantity -= invoiceItem.Quantity; db.Entry(stockItem).State = EntityState.Modified; db.SaveChanges(); } else { DomainModel.Order.StockItem stItme = new DomainModel.Order.StockItem() { Price = invoiceItem.Price, ProductId = invoiceItem.ProductId, Quantity = invoiceItem.Quantity }; db.StockItems.Add(stItme); db.SaveChanges(); } }
public ActionResult Create(DomainModel.Order.StockItem stockItem, FormCollection collection) { ViewBag.ProductCategoryId = new SelectList(db.ProductCategories, "Id", "Name"); GetPeriod(); GetStock(); #region Save and contunue if (Request.Form["btnContinue"] != null && ModelState.IsValid) { //stockItem.StockId = int.Parse(Session["StockId"].ToString()); db.StockItems.Add(stockItem); db.SaveChanges(); ViewBag.Info = stockItem.Quantity + "-" + stockItem.Id; //update the product to increase quantity,if there is Product prd = db.Products.Where(p => p.Id == stockItem.ProductId).First(); if (prd != null) { prd.QuantityPerUnit += stockItem.Quantity; db.Entry(prd).State = EntityState.Modified; db.SaveChanges(); } else { //create a new product Product prdNew = new Product() { //Price = stockItem.Price.ToString(), //QuantityPerUnit = stockItem.Quantity, //ProductCategoryId = stockItem.ProductCategoryId, ManufacturerId = db.Manufacturers.Select(x => x.Id).First() }; db.Products.Add(prdNew); db.SaveChanges(); } return(View()); } #endregion #region Save if (Request.Form["btnSave"] != null) { //stockItem.StockId = int.Parse(Session["StockId"].ToString()); db.StockItems.Add(stockItem); db.SaveChanges(); Product prd = db.Products.Find(stockItem.ProductId); prd.QuantityPerUnit += stockItem.Quantity; db.Entry(prd).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Edit", "SaleSlips", new { Id = int.Parse(Session["StockId"].ToString()) })); } #endregion if (Request.Form["cancel"] != null) { return(RedirectToAction("Index")); } return(View()); }
private void DoSctockItem(InvoiceItem invoiceItem, DomainModel.Order.StockItem stockitem) { stockitem.Quantity -= invoiceItem.Quantity; db.Entry(stockitem).State = EntityState.Modified; db.SaveChanges(); }