public async Task AssignChildJobs(PartStructure partStructure, Order order, int quantity) { for (var i = 0; i < quantity; i++) { var childStructures = await GetPartStructures(partStructure.ChildID); if (childStructures != null && childStructures.Count != 0) { var job = await AssignJob(partStructure, order); await CreateJob(job); var properties = await GetPartProperties(partStructure.PartID); foreach (var property in properties) { await CreatePropertyValue(await AssignPropertyValue(property)); } foreach (var childStructure in childStructures) { var partquantity = await GetQuantity(childStructure, order); await CreateQuantityValue(partquantity); var pickOrder = await AssignPickOrder(job, childStructure.ChildID, partquantity.ChildQuantityValue); await CreatePickOrder(pickOrder); await AssignChildJobs(childStructure, order, partquantity.ChildQuantityValue); } Session["order"] = order; } //RedirectToAction("Operations"); } }
public async Task <ActionResult> DeleteConfirmed(int id) { PartStructure partStructure = await db.PartStructures.FindAsync(id); db.PartStructures.Remove(partStructure); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Edit([Bind(Include = "ID,PartID,ChildID,ISChildQuantityConfigurable,ChildQuantity")] PartStructure partStructure) { if (ModelState.IsValid) { db.Entry(partStructure).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(partStructure)); }
// GET: PartStructures/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PartStructure partStructure = await db.PartStructures.FindAsync(id); if (partStructure == null) { return(HttpNotFound()); } return(View(partStructure)); }
public async Task <Job> AssignJob(PartStructure partStructure, Order order) { var workstation = await GetWorkstation(partStructure.ChildID); Job job = new Job { OrderID = order.Id, PartID = partStructure.ChildID, Workstation = workstation, IsConfirmed = false }; return(job); }
public async Task <QuantityExpressionValue> GetQuantity(PartStructure partStructure, Order order) { QuantityExpressionValue value = new QuantityExpressionValue(); if (partStructure.ISChildQuantityConfigurable == false) { value.ChildQuantityValue = partStructure.ChildQuantity; value.ChildQuantityExpressionId = null; value.OrderId = order.Id; return(value); } var expression = await GetQuantityExpression(partStructure.ChildID); var variableValue = await db.VariableValues.Where(v => v.Id == expression.VariableId).Select(v => v).FirstAsync(); value.ChildQuantityExpressionId = expression.Id; value.ChildQuantityValue = Convert.ToInt32(SolveQuantityExpression(variableValue, expression)); value.OrderId = order.Id; return(value); }
public async Task <ActionResult> Create([Bind(Include = "ID,PartID,ChildID,ISChildQuantityConfigurable,ChildQuantity")] PartStructure partStructure) { partStructure.PartID = Session["PartId"].ToString(); Session["ChildId"] = partStructure.ChildID; await AutoCreate(partStructure.ChildID); if (partStructure.ISChildQuantityConfigurable == true && partStructure.ChildQuantityExpression == null) { Session["PartStructure"] = partStructure; db.PartStructures.Add(partStructure); await db.SaveChangesAsync(); return(RedirectToAction("Create", "ChildQuantityExpressions")); } if (ModelState.IsValid) { db.PartStructures.Add(partStructure); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(partStructure)); }