public async Task <IActionResult> Edit(string id, [Bind("transferOutLineId,transferOutId,productId,qty,qtyInventory,createdAt")] TransferOutLine transferOutLine) { if (id != transferOutLine.transferOutLineId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(transferOutLine); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TransferOutLineExists(transferOutLine.transferOutLineId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["productId"] = new SelectList(_context.Product, "productId", "productId", transferOutLine.productId); ViewData["transferOutId"] = new SelectList(_context.TransferOut, "transferOutId", "transferOutId", transferOutLine.transferOutId); return(View(transferOutLine)); }
public async Task <IActionResult> Create([Bind("transferOutLineId,transferOutId,productId,qty,qtyInventory,createdAt")] TransferOutLine transferOutLine) { if (ModelState.IsValid) { _context.Add(transferOutLine); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["productId"] = new SelectList(_context.Product, "productId", "productId", transferOutLine.productId); ViewData["transferOutId"] = new SelectList(_context.TransferOut, "transferOutId", "transferOutId", transferOutLine.transferOutId); return(View(transferOutLine)); }
// GET: TransferOutLine/Create public IActionResult Create(string masterid, string id) { var check = _context.TransferOutLine.SingleOrDefault(m => m.transferOutLineId == id); var selected = _context.TransferOut.SingleOrDefault(m => m.transferOutId == masterid); ViewData["productId"] = new SelectList(_context.Product, "productId", "productId"); ViewData["transferOutId"] = new SelectList(_context.TransferOut, "transferOutId", "transferOutId"); if (check == null) { TransferOutLine objline = new TransferOutLine(); objline.transferOut = selected; objline.transferOutId = masterid; return(View(objline)); } else { return(View(check)); } }
public async Task <IActionResult> PostTransferOutLine([FromBody] TransferOutLine transferOutLine) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (transferOutLine.transferOutLineId == string.Empty) { transferOutLine.transferOutLineId = Guid.NewGuid().ToString(); _context.TransferOutLine.Add(transferOutLine); await _context.SaveChangesAsync(); return(Json(new { success = true, message = "Add new data success." })); } else { _context.Update(transferOutLine); await _context.SaveChangesAsync(); return(Json(new { success = true, message = "Edit data success." })); } }
public async Task <IActionResult> PostTransferOutLine([FromBody] TransferOutLine transferOutLine) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (transferOutLine.transferOutLineId == string.Empty) { transferOutLine.transferOutLineId = Guid.NewGuid().ToString(); _context.TransferOutLine.Add(transferOutLine); await _context.SaveChangesAsync(); return(Json(new { success = true, message = "Η Προσθήκη στοιχείου μεταφοράς, έγινε με επιτυχία." })); } else { _context.Update(transferOutLine); await _context.SaveChangesAsync(); return(Json(new { success = true, message = "Η Επεξεργασία του στοιχείου μεταφοράς, έγινε με επιτυχία." })); } }
public async Task <IActionResult> Create([Bind("transferOutId,transferOrderId,transferOutNumber,transferOutDate,description,branchIdFrom,warehouseIdFrom,branchIdTo,warehouseIdTo,HasChild,createdAt")] TransferOut transferOut) { if (ModelState.IsValid) { //check transfer order TransferOut check = await _context.TransferOut .Include(x => x.transferOrder) .SingleOrDefaultAsync(x => x.transferOrderId.Equals(transferOut.transferOrderId)); if (check != null) { ViewData["StatusMessage"] = "Σφάλμα. Η εντολή μεταφοράς έχει ήδη εκδοθεί. " + check.transferOutNumber; ViewData["transferOrderId"] = new SelectList(_context.TransferOrder, "transferOrderId", "transferOrderNumber"); ViewData["branchIdFrom"] = new SelectList(_context.Branch, "branchId", "branchName"); ViewData["warehouseIdFrom"] = new SelectList(_context.Warehouse, "warehouseId", "warehouseName"); ViewData["branchIdTo"] = new SelectList(_context.Branch, "branchId", "branchName"); ViewData["warehouseIdTo"] = new SelectList(_context.Warehouse, "warehouseId", "warehouseName"); return(View(transferOut)); } //check stock bool isStockOK = true; string productList = ""; List <TransferOrderLine> stocklines = new List <TransferOrderLine>(); stocklines = _context.TransferOrderLine .Include(x => x.transferOrder) .Include(x => x.product) .Where(x => x.transferOrderId.Equals(transferOut.transferOrderId)).ToList(); foreach (var item in stocklines) { VMStock stock = _netcoreService.GetStockByProductAndWarehouse(item.productId, item.transferOrder.warehouseIdFrom); if (stock != null) { if (stock.QtyOnhand < item.qty) { isStockOK = false; productList = productList + " [" + item.product.productCode + "] "; } } else { isStockOK = false; } } if (!isStockOK) { TempData["StatusMessage"] = "Σφάλμα. Υπάρχει πρόβλημα στην ποσότητα αποθεμάτων, ελέγξτε το απόθεμά σας. " + productList; return(RedirectToAction(nameof(Create))); } TransferOrder to = await _context.TransferOrder.Where(x => x.transferOrderId.Equals(transferOut.transferOrderId)).FirstOrDefaultAsync(); transferOut.warehouseIdFrom = to.warehouseIdFrom; transferOut.warehouseIdTo = to.warehouseIdTo; transferOut.warehouseFrom = await _context.Warehouse.Include(x => x.branch).SingleOrDefaultAsync(x => x.warehouseId.Equals(transferOut.warehouseIdFrom)); transferOut.branchFrom = transferOut.warehouseFrom.branch; transferOut.warehouseTo = await _context.Warehouse.Include(x => x.branch).SingleOrDefaultAsync(x => x.warehouseId.Equals(transferOut.warehouseIdTo)); transferOut.branchTo = transferOut.warehouseTo.branch; to.isIssued = true; _context.Add(transferOut); await _context.SaveChangesAsync(); //auto create transfer out line, full shipment List <TransferOrderLine> lines = new List <TransferOrderLine>(); lines = _context.TransferOrderLine.Include(x => x.product).Where(x => x.transferOrderId.Equals(transferOut.transferOrderId)).ToList(); foreach (var item in lines) { TransferOutLine line = new TransferOutLine(); line.transferOut = transferOut; line.product = item.product; line.qty = item.qty; line.qtyInventory = line.qty * -1; _context.TransferOutLine.Add(line); await _context.SaveChangesAsync(); } TempData["TransMessage"] = "Η Δημιουργία Μεταφοράς " + transferOut.transferOutNumber + " έγινε με Επιτυχία!"; return(RedirectToAction(nameof(Details), new { id = transferOut.transferOutId })); } ViewData["transferOrderId"] = new SelectList(_context.TransferOrder, "transferOrderId", "transferOrderNumber", transferOut.transferOrderId); return(View(transferOut)); }