// อัพเดทเมื่อสถานะเป็น allow ให่้หักสต็อกเลย public ActionResult Approbation_popupUpdate(string approve, int reqID, int repID) { RequisitionModel reqModel = new RequisitionModel(); // ค้นเอา stock_id จากการเบิก Database db = new Database(); RequisitionDAO reqDAO = new RequisitionDAO(db); reqModel = new RequisitionModel(); reqModel = reqDAO.FindById(reqID); db.Close(); // แล้วเอามาค้นเอาข้อมูลสต๊อก db = new Database(); StockDAO sDAO = new StockDAO(db); StockModel sModel = sDAO.FindById(reqModel.STOCK_NO.STOCK_ID); db.Close(); RequisitionModel rqModel = new RequisitionModel(); rqModel.REQ_ID = reqID; rqModel.APROVE = approve; db = new Database(); reqDAO = new RequisitionDAO(db); int ap = reqDAO.Approbation(rqModel); db.Close(); if (approve.Equals("allow") && !reqModel.APROVE.Equals("allow")) { if (ap > 0) { // ของที่เบิก ต้องมีจำนวน น้อยกว่าเท่ากับของที่อยู่ในสต๊อก if (reqModel.REQ_UNIT <= sModel.UNIT) { int stkMinus = sModel.UNIT - reqModel.REQ_UNIT; // รับค่าที่ทำการหักสต๊อกแล้ว sModel = new StockModel(); sModel.STOCK_ID = reqModel.STOCK_NO.STOCK_ID; sModel.UNIT = stkMinus; System.Diagnostics.Debug.WriteLine("sModel.STOCK_ID :" + sModel.STOCK_ID); db = new Database(); sDAO = new StockDAO(db); sDAO.StockDeduction(sModel); db.Close(); } else { return(RedirectToAction("Alert", "Requisition", new { link = "../Requisition/approbationManagement", massage = "ไม่สามารถเบิกมากกว่าจำนวนของที่มีในคลังได้" })); } } } else if ((approve.Equals("wait") || approve.Equals("not")) && reqModel.APROVE.Equals("allow")) { int stkMinus = sModel.UNIT + reqModel.REQ_UNIT; // รับค่าที่ทำการหักสต๊อกแล้ว sModel = new StockModel(); sModel.STOCK_ID = reqModel.STOCK_NO.STOCK_ID; sModel.UNIT = stkMinus; db = new Database(); sDAO = new StockDAO(db); sDAO.StockDeduction(sModel); db.Close(); } RepairModel rModel = new RepairModel(); rModel.REPAIR_NO = repID; rModel.ALERT_STATUS = "1"; db = new Database(); RepairDAO rDAO = new RepairDAO(db); rDAO.AlertStatus(rModel); db.Close(); return(Redirect("~/Requisition/approbationManagement")); }