public bool CreateReceiveItem(FrunutStockEntities db, ReceiveItem receiveItem) { bool result = false; using (var dbContextTransaction = db.Database.BeginTransaction()) { var itemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == receiveItem.ItemID && i.WarehouseID == receiveItem.WarehouseID).FirstOrDefault(); var item = db.Items.Where(i => i.ID == receiveItem.ItemID).FirstOrDefault(); try { if (itemWarehouse == null) { ItemWarehouse iw = AddItemWarehouse(receiveItem, item); db.ItemWarehouses.Add(iw); } else { UpdateItemWarehouse(itemWarehouse, receiveItem, item, 1); db.Entry(itemWarehouse).State = EntityState.Modified; } db.ReceiveItems.Add(receiveItem); db.SaveChanges(); dbContextTransaction.Commit(); result = true; } catch (Exception err) { dbContextTransaction.Rollback(); result = false; } } return(result); }
public ActionResult DeleteConfirmed(long id) { ReceiveItem addItem = db.ReceiveItems.Find(id); bool result = itemInout.DeleteReceiveItem(db, addItem); //db.AddItems.Remove(addItem); //db.SaveChanges(); return(RedirectToAction("Index")); }
public void UpdateItemWarehouse(ItemWarehouse itemWarehouse, ReceiveItem receiveItem, Item item, int factor) { itemWarehouse.QtyBoxesIn += receiveItem.QtyBoxes * factor; itemWarehouse.QtyKgIn += receiveItem.QtyKg * factor; itemWarehouse.QtyBoxesOnhand += receiveItem.QtyBoxes * factor; itemWarehouse.QtyKgOnhand += receiveItem.QtyKg * factor; itemWarehouse.QtyTotalWeightIn += (receiveItem.QtyKg * factor) + (receiveItem.QtyBoxes * item.BoxWeight) * factor; itemWarehouse.QtyTotalWeightOnhand += (receiveItem.QtyKg * factor) + (receiveItem.QtyBoxes * item.BoxWeight) * factor; }
public async Task <IActionResult> addCart(List <Item> items, int shoppingMallId, int branchId, DateTime productLotDate) { //check to seee if the items size >0 if (items.Count > 0) { //create new cart object Receive cart = new Receive { receiveDate = DateTime.Now, productLotDate = productLotDate, shoppingmallID = shoppingMallId, branchId = branchId, }; //add cart into carts context _context.Receive.Add(cart); //save change to the new cart //note thate when the new cart object is saved //the system will automatically assign the primary key(cartId) data for each cart data row await _context.SaveChangesAsync(); //save cart first //after the operation above, cart.cartId is accessible //create a list of cart items List <ReceiveItem> list1 = new List <ReceiveItem>(); //loop throught each item in the items list foreach (Item item in items) { //create a new object with the structure based on Model>CartItem.cs var row = new ReceiveItem { productId = item.productId, productName = item.productName, productQty = item.productQty, receiveId = cart.receiveId //cart Id go here }; list1.Add(row); }//end loop //assign caritem list cart.receiveItem = list1; await _context.SaveChangesAsync(); //save cart first //step33: return Action to be call by client return(Json(new { newUrl = Url.Action("Index") } )); } else { return(Content("error data upload fail")); } }
public bool EditReceiveItem(FrunutStockEntities db, ReceiveItem receiveItem) { bool result = false; using (var dbContextTransaction = db.Database.BeginTransaction()) { var oldReceiveItem = db.ReceiveItems.Find(receiveItem.ID); try { if (oldReceiveItem == null) { throw new System.InvalidOperationException("Could't find old values."); } var oldItemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == oldReceiveItem.ItemID && i.WarehouseID == oldReceiveItem.WarehouseID).FirstOrDefault(); var oldItem = db.Items.Where(i => i.ID == oldReceiveItem.ItemID).FirstOrDefault(); if (oldItemWarehouse == null) { throw new System.InvalidOperationException("Could't find old values."); } UpdateItemWarehouse(oldItemWarehouse, oldReceiveItem, oldItem, -1); db.Entry(oldItemWarehouse).State = EntityState.Modified; db.SaveChanges(); var itemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == receiveItem.ItemID && i.WarehouseID == receiveItem.WarehouseID).FirstOrDefault(); var item = db.Items.Where(i => i.ID == receiveItem.ItemID).FirstOrDefault(); if (itemWarehouse == null) { ItemWarehouse iw = AddItemWarehouse(receiveItem, item); db.ItemWarehouses.Add(iw); } else { UpdateItemWarehouse(itemWarehouse, receiveItem, item, 1); } db.Entry(oldReceiveItem).State = EntityState.Detached; db.Entry(receiveItem).State = EntityState.Modified; db.SaveChanges(); dbContextTransaction.Commit(); result = true; } catch (Exception err) { // UpdateItemWarehouse(itemWarehouse, receiveItem, -1); dbContextTransaction.Rollback(); result = false; } } return(result); }
public ActionResult Edit([Bind(Include = "ID,Date,ItemID,WarehouseID,Description,QtyBoxes,QtyKg,AddedDate,ModifiedDate,UserName")] ReceiveItem addItem) { if (ModelState.IsValid) { bool result = itemInout.EditReceiveItem(db, addItem); //db.Entry(addItem).State = EntityState.Modified; //db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ItemID = new SelectList(db.Items, "ID", "Name", addItem.ItemID); ViewBag.WarehouseID = new SelectList(db.Warehouses, "ID", "Name", addItem.WarehouseID); return(View(addItem)); }
public ActionResult Create([Bind(Include = "ID,Date,ItemID,WarehouseID,CompanyID,Description,QtyBoxes,QtyKg,AddedDate,UserName")] ReceiveItem addItem) { if (ModelState.IsValid) { // db.AddItems.Add(addItem); bool result = itemInout.CreateReceiveItem(db, addItem); //db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ItemID = new SelectList(db.Items, "ID", "Name", addItem.ItemID); ViewBag.WarehouseID = new SelectList(db.Warehouses, "ID", "Name", addItem.WarehouseID); return(View(addItem)); }
// GET: Stock/AddItems/Details/5 public ActionResult Details(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ReceiveItem addItem = db.ReceiveItems.Find(id); if (addItem == null) { return(HttpNotFound()); } return(View(addItem)); }
public ItemWarehouse AddItemWarehouse(ReceiveItem receiveItem, Item item) { ItemWarehouse iw = new ItemWarehouse(); iw.ItemID = receiveItem.ItemID; iw.WarehouseID = receiveItem.WarehouseID; iw.QtyBoxesIn = receiveItem.QtyBoxes; iw.QtyKgIn = receiveItem.QtyKg; iw.QtyBoxesOnhand = receiveItem.QtyBoxes; iw.QtyKgOnhand = receiveItem.QtyKg; iw.QtyTotalWeightIn = receiveItem.QtyKg + (receiveItem.QtyBoxes * item.BoxWeight); iw.QtyTotalWeightOnhand = receiveItem.QtyKg + (receiveItem.QtyBoxes * item.BoxWeight); iw.QtyTotalWeightReserved = 0; return(iw); }
// GET: Stock/AddItems/Edit/5 public ActionResult Edit(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ReceiveItem addItem = db.ReceiveItems.Find(id); if (addItem == null) { return(HttpNotFound()); } ViewBag.ItemID = new SelectList(db.Items, "ID", "Name", addItem.ItemID); ViewBag.WarehouseID = new SelectList(db.Warehouses, "ID", "Name", addItem.WarehouseID); return(View(addItem)); }
public HttpResponseMessage ItemRecUpdate(ReceiveItem _ItemRecModel) { try { bool conn = false; conn = db.Database.Exists(); if (!conn) { ConnectionTools.changeToLocalDB(db); conn = db.Database.Exists(); } if (conn) { var _Rec = (from a in db.TBL_RECEIVE_ITEM where a.NEWRECEIVE_ID == _ItemRecModel.NEWRECEIVE_ID select a).FirstOrDefault(); _Rec.SELECT_BUSINESS_LOCATION_ID = _ItemRecModel.SELECT_BUSINESS_LOCATION_ID; _Rec.RECEIVED_ITEM_ENTRY_NO = _ItemRecModel.RECEIVED_ITEM_ENTRY_NO; _Rec.BARCODE = _ItemRecModel.BARCODE; _Rec.ITEM_NAME = _ItemRecModel.ITEM_NAME; _Rec.SEARCH_CODE = _ItemRecModel.SEARCH_CODE; _Rec.SUPPLIER_INVOICE_NO = _ItemRecModel.SUPPLIER_INVOICE_NO; _Rec.SUPPLIER_INVOICE_DATE = _ItemRecModel.SUPPLIER_INVOICE_DATE; _Rec.RECEIVE_DATE = _ItemRecModel.RECEIVE_DATE; _Rec.RECEIVED_ITEM_ON_DATE = _ItemRecModel.RECEIVED_ITEM_ON_DATE; _Rec.PO_NUMBER = _ItemRecModel.PO_NUMBER; _Rec.SUPPLIER_ID = _ItemRecModel.SUPPLIER_ID; _Rec.PAYMENT_TERMS = _ItemRecModel.PAYMENT_TERMS; _Rec.GODOWN_ID = _ItemRecModel.GODOWN_ID; _Rec.RECEIVING_EMPLOYEE = _ItemRecModel.RECEIVING_EMPLOYEE; _Rec.DISCOUNT_FLAT = _ItemRecModel.DISCOUNT_FLAT; _Rec.DISCOUNT_PERCENT = _ItemRecModel.DISCOUNT_PERCENT; _Rec.ADDTIONAL_CHARGES = _ItemRecModel.ADDTIONAL_CHARGES; _Rec.SUB_TOTAL_BEFORETAX = _ItemRecModel.SUB_TOTAL_BEFORETAX; _Rec.TOTAL_TAX_AMT = _ItemRecModel.TOTAL_TAX_AMT; _Rec.SUB_TOTAL = _ItemRecModel.SUB_TOTAL; _Rec.ROUND_OFF_ADJUSTMENTAMT = _ItemRecModel.ROUND_OFF_ADJUSTMENTAMT; _Rec.TOTAL_AMT = _ItemRecModel.TOTAL_AMT; _Rec.USE_SUPPLIER_ADVANCE_AMT = _ItemRecModel.USE_SUPPLIER_ADVANCE_AMT; _Rec.GRAND_TOTAL = _ItemRecModel.GRAND_TOTAL; _Rec.NOTE = _ItemRecModel.NOTE; _Rec.PO_NUMBER_ID = _ItemRecModel.PO_NUMBER_ID; _Rec.SUPPLIER = _ItemRecModel.SUPPLIER; _Rec.BUSINESS_LOCATION = _ItemRecModel.SELECT_BUSINESS_LOCATION; _Rec.FILTER_HIERARCHY = _ItemRecModel.FILTER_HIERARCHY; _Rec.DISCOUNT_BEFOR_TAX = _ItemRecModel.DISCOUNT_BEFOR_TAX; _Rec.PAY_IN_CASH = _ItemRecModel.PAY_IN_CASH; _Rec.APPLY_FPR_EFFECTVE_PRICE = _ItemRecModel.APPLY_FPR_EFFECTVE_PRICE; _Rec.AUTO_SAVE_IN_DRAFT = _ItemRecModel.AUTO_SAVE_IN_DRAFT; _Rec.FOCUS_LAST_ADD_ITEM = _ItemRecModel.FOCUS_LAST_ADD_ITEM; _Rec.ITEM_ENTRY_TEMPLATE = _ItemRecModel.ITEM_ENTRY_TEMPLATE; _Rec.INVOICE_DIS_AMT = _ItemRecModel.INVOICE_DIS_AMT; db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "success")); } else { return(Request.CreateResponse(HttpStatusCode.ExpectationFailed)); } } catch (Exception ex) { throw; } finally { ConnectionTools.ChangeToRemoteDB(db); } }
public HttpResponseMessage CreateRecItem(ReceiveItem _ItemRecModel) { try { bool conn = false; conn = db.Database.Exists(); if (!conn) { ConnectionTools.changeToLocalDB(db); conn = db.Database.Exists(); } if (conn) { TBL_RECEIVE_ITEM _Rec = new TBL_RECEIVE_ITEM(); _Rec.COMPANY_ID = _ItemRecModel.COMPANY_ID; _Rec.SELECT_BUSINESS_LOCATION_ID = _ItemRecModel.SELECT_BUSINESS_LOCATION_ID; _Rec.BUSINESS_LOCATION = _ItemRecModel.SELECT_BUSINESS_LOCATION; _Rec.RECEIVED_ITEM_ENTRY_NO = _ItemRecModel.RECEIVED_ITEM_ENTRY_NO; _Rec.BARCODE = _ItemRecModel.BARCODE; _Rec.ITEM_NAME = _ItemRecModel.ITEM_NAME; _Rec.SEARCH_CODE = _ItemRecModel.SEARCH_CODE; _Rec.SUPPLIER_INVOICE_NO = _ItemRecModel.SUPPLIER_INVOICE_NO; _Rec.SUPPLIER_INVOICE_DATE = _ItemRecModel.SUPPLIER_INVOICE_DATE; _Rec.RECEIVE_DATE = _ItemRecModel.RECEIVE_DATE; _Rec.RECEIVED_ITEM_ON_DATE = _ItemRecModel.RECEIVED_ITEM_ON_DATE; _Rec.PO_NUMBER_ID = _ItemRecModel.PO_NUMBER_ID; _Rec.PO_NUMBER = _ItemRecModel.PO_NUMBER; _Rec.SUPPLIER_ID = _ItemRecModel.SUPPLIER_ID; _Rec.SUPPLIER = _ItemRecModel.SUPPLIER; _Rec.PAYMENT_TERMS = _ItemRecModel.PAYMENT_TERMS; _Rec.GODOWN_ID = _ItemRecModel.GODOWN_ID; _Rec.GODOWN = _ItemRecModel.GODOWN; _Rec.RECEIVING_EMPLOYEE = _ItemRecModel.RECEIVING_EMPLOYEE; _Rec.DISCOUNT_FLAT = _ItemRecModel.DISCOUNT_FLAT; _Rec.DISCOUNT_PERCENT = _ItemRecModel.DISCOUNT_PERCENT; _Rec.ADDTIONAL_CHARGES = _ItemRecModel.ADDTIONAL_CHARGES; _Rec.SUB_TOTAL_BEFORETAX = _ItemRecModel.SUB_TOTAL_BEFORETAX; _Rec.TOTAL_TAX_AMT = _ItemRecModel.TOTAL_TAX_AMT; _Rec.SUB_TOTAL = _ItemRecModel.SUB_TOTAL; _Rec.ROUND_OFF_ADJUSTMENTAMT = _ItemRecModel.ROUND_OFF_ADJUSTMENTAMT; _Rec.TOTAL_AMT = _ItemRecModel.TOTAL_AMT; _Rec.USE_SUPPLIER_ADVANCE_AMT = _ItemRecModel.USE_SUPPLIER_ADVANCE_AMT; _Rec.GRAND_TOTAL = _ItemRecModel.GRAND_TOTAL; _Rec.IS_REC_WITH_PO = _ItemRecModel.IS_REC_WITH_PO; _Rec.NOTE = _ItemRecModel.NOTE; _Rec.FILTER_HIERARCHY = _ItemRecModel.FILTER_HIERARCHY; _Rec.IS_DELETE = false; _Rec.DISCOUNT_BEFOR_TAX = _ItemRecModel.DISCOUNT_BEFOR_TAX; _Rec.PAY_IN_CASH = _ItemRecModel.PAY_IN_CASH; _Rec.APPLY_FPR_EFFECTVE_PRICE = _ItemRecModel.APPLY_FPR_EFFECTVE_PRICE; _Rec.AUTO_SAVE_IN_DRAFT = _ItemRecModel.AUTO_SAVE_IN_DRAFT; _Rec.FOCUS_LAST_ADD_ITEM = _ItemRecModel.FOCUS_LAST_ADD_ITEM; _Rec.ITEM_ENTRY_TEMPLATE = _ItemRecModel.ITEM_ENTRY_TEMPLATE; _Rec.INVOICE_DIS_AMT = _ItemRecModel.INVOICE_DIS_AMT; db.TBL_RECEIVE_ITEM.Add(_Rec); db.SaveChanges(); long rcvid = _Rec.NEWRECEIVE_ID; if (_ItemRecModel.SelectedItem.Count > 0) { foreach (var item in _ItemRecModel.SelectedItem) { if (item.TOTAL_QTY != null || item.TOTAL_QTY != 0) { TBL_RECEIVE_ITEM_ITEMS RcvItem = new TBL_RECEIVE_ITEM_ITEMS(); RcvItem.RCV_ITEM_ID = item.ITEM_ID; RcvItem.RCV_ITEM_ENTRY_ID = Convert.ToInt32(rcvid); // RcvItem.PO_DISCOUNT = item.Discount; RcvItem.RCV_AMOUNT = item.SUB_TOTAL_AFTER_TAX; RcvItem.RCV_QTY = item.TOTAL_QTY; //PoItem.PO_TAX = item.TotalTax; RcvItem.RCV_TAX = item.SUB_TOTAL_AFTER_TAX - item.SUB_TOTAL_BEFORE_TAX; db.TBL_RECEIVE_ITEM_ITEMS.Add(RcvItem); db.SaveChanges(); } } } return(Request.CreateResponse(HttpStatusCode.OK, "success")); } else { return(Request.CreateResponse(HttpStatusCode.ExpectationFailed)); } } catch (Exception ex) { throw; } finally { ConnectionTools.ChangeToRemoteDB(db); } }