private ProductionForCT AddLotNumbers(ProductionForCT production) { production.LastLotNumber = LotNumberIndex(); production.Markers = production.Markers.Select((m, i) => { m.LotNumber = production.LastLotNumber + i; return(m); }).ToList(); //production.Markers = production.Markers.Select((m, i) => { m.LotNumber = production.LastLotNumber + 1 + i; return m; }).ToList(); return(production); }
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)); } }