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));
            }
        }