private void DisplayCheckedDetail(IDetail detail, Task <bool> taskResult, ICheckMachine currentCheckMachines) { if (taskResult.Result == true) { display.WriteLine($"The CheckMachine \"{currentCheckMachines.Model}\" checked {detail.GetType().Name} №{detail.NumberOfDetail} - fine"); } else { display.WriteLine($"The CheckMachine \"{currentCheckMachines.Model}\" checked {detail.GetType().Name} №{detail.NumberOfDetail} - trash"); } }
private void Ititialize() { machine = new Machine("LifeLand", checkerContainer); machine.TurnOn(); checkMachine = new CheckMachine("Raven", checkerContainer); checkMachine1 = new CheckMachine("Cycle", checkerContainer); checkMachine2 = new CheckMachine("Eagle", checkerContainer); checkMachine3 = new CheckMachine("ZLD", checkerContainer); checkMachine.TurnOn(); checkMachine1.TurnOn(); checkMachine2.TurnOn(); checkMachine3.TurnOn(); listCheckMachines = new List <ICheckMachine>() { checkMachine, checkMachine1, checkMachine2, checkMachine3 }; conveyor = new Conveyor("StarField"); conveyor.TurnOn(); }
private async void CheckDetail(IDetail detail) { try { var tasksAndMachines = StartFourCheckMachines(detail); var listTasks = tasksAndMachines.Item1; var listCurrentCheckMachines = tasksAndMachines.Item2; Task <bool> resultTask = await CheckAndCancelTasks(listTasks, listCurrentCheckMachines); ICheckMachine currentCheckMachine = GetLastCurrentCheckMachine(resultTask, listTasks, listCurrentCheckMachines); DisplayCheckedDetail(detail, resultTask, currentCheckMachine); } catch (AggregateException ex) { foreach (var oneException in ex.InnerExceptions) { display.WriteLine(oneException.Message); } } }