public InProcessMaterial CreateMaterial(int orderID, int processID, int jobID, int palletNum, int face, long matID) { var job = _byOrderID[orderID]; var program = ""; if (_programs.ContainsKey(jobID)) { program = _programs[jobID]; } var matDetails = _logDb.GetMaterialDetails(matID); return(new InProcessMaterial() { MaterialID = matID, JobUnique = job.UniqueStr, Process = _procIDToProcNum[processID], Path = 1, PartName = job.PartName, Serial = matDetails?.Serial, WorkorderId = matDetails?.Workorder, SignaledInspections = _logDb.LookupInspectionDecisions(matID) .Where(x => x.Inspect) .Select(x => x.InspType) .Distinct() .ToList(), Action = new InProcessMaterialAction() { Type = InProcessMaterialAction.ActionType.Waiting, Program = program }, Location = new InProcessMaterialLocation() { Type = InProcessMaterialLocation.LocType.OnPallet, Pallet = palletNum.ToString(), Face = face } }); }