public List<RepairRecipe> GetCombineFaultRecipes(CombineFault cmbFault, int palletId, int actionId) { List<RepairRecipe> recipes = new List<RepairRecipe>(); List<TorqueRepair> trqRepairs = new List<TorqueRepair>(); List<BarcodeRepair> bcRepairs = new List<BarcodeRepair>(); ReworkFactory factory = new ReworkFactory(); var skuInfo = factory.GetSkuInfoByPalletId(palletId); foreach (var t in cmbFault.TorqueFaults) { var tmpTrqRepair = GetTorqueRepair(t); trqRepairs.Add(tmpTrqRepair); } foreach (var b in cmbFault.BarcodeFaults) { var tmpBcRepair = GetBarcodeRepair(b); bcRepairs.Add(tmpBcRepair); } var dispRecipes = GetRepairRecipes(skuInfo, cmbFault.Disposition, actionId); foreach (var r in dispRecipes) { if (r.RequireRepaired) { foreach (var t in r.TorqueRepairs) { } foreach (var b in r.BarcodeRepairs) { if (!bcRepairs.Where(bc => bc.CSType == bc.CSType).Any()) bcRepairs.Add(b); } } else { recipes.Add(r); } } if (bcRepairs.Any() || trqRepairs.Any()) { recipes.Add(new RepairRecipe { Title = "Combine Fault Recipe", TorqueRepairs = trqRepairs, BarcodeRepairs = bcRepairs, Repaired = false, RequireRepaired = true, Priority = 1, RecipeId = 100 }); } return recipes.OrderByDescending(r=>r.Priority).ToList(); }
public List<RepairFaultDetail> GetCombineRepairFaultDetails(CombineFault combineFault) { //1 - Defect Fault //2 - Other Fault //3 - CombineFault //4 - Barcode Fault //5 - Torque Fault List<RepairFaultDetail> faultDetails = new List<RepairFaultDetail>(); var defects = (from d in (combineFault.DefectFaults ?? new List<DefectFault>()) select new RepairFaultDetail { FaultTypeId = 1, Station = d.StationNum, Description = d.Defect.Description }).ToList(); faultDetails.AddRange(defects); var other = (from d in (combineFault.OtherFaults ?? new List<OtherFault>()) select new RepairFaultDetail { FaultTypeId = 2, Station = "N/A", Description = "Other Fault" }).ToList(); faultDetails.AddRange(other); var bcs = (from d in (combineFault.BarcodeFaults ?? new List<BarcodeFault>()) select new RepairFaultDetail { FaultTypeId = 4, Station = d.CSType.ToString(), Description = d.Description.Trim() }).ToList(); faultDetails.AddRange(bcs); var trqs = (from d in (combineFault.TorqueFaults ?? new List<TorqueFault>()) select new RepairFaultDetail { FaultTypeId = 5, Station = d.StationId, Description = "Missing: " + d.Description + " " + d.TorquesMissing + " torque(s) PSET " + d.PsetNum }).ToList(); faultDetails.AddRange(trqs); return faultDetails; }