private void getDropDownListForCreateScrap(int?operationId, ScrapBasicInfoModal scrapBasicInfoModal) { // get data for drop down list of machines scrapBasicInfoModal.Machines = _stackpoleContext.qryMachNumbers .Where(m => m.OperationID == operationId) .GroupBy(m => new { m.machineID }) .Select(m => new SelectListItem { Text = m.Key.machineID.ToString(), Value = m.Key.machineID.ToString() }) .OrderBy(m => m.Value) .ToList(); scrapBasicInfoModal.Machines.Insert(0, new SelectListItem { Text = "Choose a machine", Value = "" }); // get data for drop down list of reason scrapBasicInfoModal.Reasons = _stackpoleContext.qrySrapReasons .Where(m => m.operationID == operationId) .Select(m => new SelectListItem { Text = m.description.ToString(), Value = m.id.ToString() }) .OrderBy(m => m.Text) .ToList(); scrapBasicInfoModal.Reasons.Insert(0, new SelectListItem { Text = "Choose a reason", Value = "" }); }
public ActionResult CreateNewScrapModal(ScrapBasicInfoModal scrapBasicInfoModal) { // initialize data for drop down list in create view //getDropDownList(scrapBasicInfoModal.operationIdInt); getDropDownListForCreateScrap(scrapBasicInfoModal.operationIdInt, scrapBasicInfoModal); // NOTE: avoid error when saving as null value // we should init values as 0 before passing them to the view scrapBasicInfoModal.scrapDetailModal.quantity = 0; scrapBasicInfoModal.scrapDetailModal.weight = 0; return(PartialView("_CreateNewScrapModal", scrapBasicInfoModal)); }
//public ActionResult Create([Bind(Include = "id,scrapId,reasonId,machineId,quantity,weight,cost,employeeNumber")] ScrapDetail scrapDetail) //public ActionResult CreateNewScrapPost([Bind(Include = "reasonId,machineId,quantity,weight,cost,employeeNumber")] ScrapBasicInfo scrapBasicInfo) public ActionResult CreateNewScrapPostModal(ScrapBasicInfoModal scrapBasicInfoModal) { if (ModelState.IsValid) { Scrap scrap = new Scrap(); /* case add first new scrap */ if (scrapBasicInfoModal.scrapDetailModal.scrapId == 0) { scrap.date = scrapBasicInfoModal.scrapModal.date; scrap.machineId = scrapBasicInfoModal.scrapDetailModal.machineId; scrap.operationId = scrapBasicInfoModal.scrapModal.operationId; scrap.partId = scrapBasicInfoModal.scrapModal.partId; scrap.plantId = scrapBasicInfoModal.scrapModal.plantId; scrap.unitCost = scrapBasicInfoModal.scrapModal.unitCost; scrap.unitWeight = scrapBasicInfoModal.scrapModal.unitWeight; scrap.departmentId = scrapBasicInfoModal.scrapModal.departmentId; //scrap.cancelled = false; _stackpoleContext.Scraps.Add(scrap); _stackpoleContext.SaveChanges(); scrapBasicInfoModal.scrapModal.id = scrap.id; scrapBasicInfoModal.scrapDetailModal.scrapId = scrap.id; } ScrapDetail scrapDetail = new ScrapDetail(); scrapDetail.scrapId = scrapBasicInfoModal.scrapDetailModal.scrapId; scrapDetail.reasonId = scrapBasicInfoModal.scrapDetailModal.reasonId; scrapDetail.machineId = scrapBasicInfoModal.scrapDetailModal.machineId; scrapDetail.quantity = scrapBasicInfoModal.scrapDetailModal.quantity; scrapDetail.weight = scrapBasicInfoModal.scrapDetailModal.weight; scrapDetail.cost = scrapBasicInfoModal.scrapDetailModal.cost; scrapDetail.employeeNumber = scrapBasicInfoModal.scrapDetailModal.employeeNumber; _stackpoleContext.ScrapDetails.Add(scrapDetail); _stackpoleContext.SaveChanges(); //Index(string plantName, string departmentName, string partId, string operationName, int operationId) return(RedirectToAction("Index", new { plantName = scrapBasicInfoModal.scrapModal.plantId, departmentName = scrapBasicInfoModal.scrapModal.departmentId, partId = scrapBasicInfoModal.scrapModal.partId, operationName = scrapBasicInfoModal.scrapModal.operationId, operationId = scrapBasicInfoModal.operationIdInt, weight = scrapBasicInfoModal.scrapModal.unitWeight, cost = scrapBasicInfoModal.scrapModal.unitCost, scrapId = scrapBasicInfoModal.scrapDetailModal.scrapId })); } var errors = ModelState .Where(x => x.Value.Errors.Count > 0) .Select(x => new { x.Key, x.Value.Errors }) .ToArray(); //ViewBag.scrapID = new SelectList(db.Scraps, "id", "partId", scrapDetail.scrapId); //ViewBag.machineId = new SelectList(db.Scraps, "id", "partId", scrapDetail.scrapId); //ViewBag.reasonID = new SelectList(db.ScrapReasons, "id", "description", scrapDetail.reasonId); //return View(scrapDetail); //return View(); return(PartialView("_CreateNewScrapModal", scrapBasicInfoModal)); }