public ActionResult ConvertCTToItems(ProductionForCT production) { if (production.LastLotNumber < LotNumberIndex()) { AddLotNumbers(production); } var prodItems = ExcelActions.ConvertProductoinToCTs(production); if (prodItems.CuttingInstructions.Count() > 0) { Session["prodItems"] = prodItems; prodItems.CuttingInstructions.ForEach(ct => { if (string.IsNullOrEmpty(ct.Marker.MarkerSizeText)) { GetMarkerText(ct.Marker); } }); var errors = ExcelActions.GetErrors(); return(Json(new { prodItems = new { prodItems.Date, CuttingInstructions = prodItems.CuttingInstructions.Select(ct => { return new { ct.Marker, ct.LotNumber, Details = ct.Details.Select(d => { return new { d.ColorMaterial, Items = d.Items.Select(i => { return new { i.Id, i.ItemId, i.Quantity, Item = new { i.Item.SKU }, i.Packaging }; }) }; }), }; }) }, errors }, JsonRequestBehavior.AllowGet)); } else { var errors = ExcelActions.GetErrors(); return(Json(new { prodItems = 0, errors }, JsonRequestBehavior.AllowGet)); } }
public ActionResult NewProduction(HttpPostedFileBase cuttingTicket) { Session["file"] = cuttingTicket; var dT = ExcelActions.ConvertXSLXtoDataTable(cuttingTicket); var production = ExcelActions.ConvertCtToProduction(dT); production = AddLotNumbers(production); var errors = ExcelActions.GetErrors(); Session["Production"] = production; return(Json(new { production, errors }, JsonRequestBehavior.AllowGet)); }