private void CheckListBox() { if (Workshop.GetDetails(listBox1).Any(d => !d.Completed) || !(Workshop1.Detail == null && Workshop2.Detail == null && Workshop3.Detail == null && Workshop4.Detail == null && Workshop5.Detail == null)) { return; } { Logger.WriteLine("Все детали на складе готовы. Все цеха свободны."); button4_Click(this, new EventArgs()); } }
internal void StartOperation(Workshop workshop, DetailOperation operation) { if (Completed) { throw new Exception("Произошла попытка начать операцию с обработанной деталью."); } if (GetCurrentOperation() != operation) { throw new Exception("Произошла попытка начать некоректную операцию."); } var log = $"{workshop.Name} начал операцию {Stage.GetDetailOperationName(GetCurrentOperation())} с деталью {Id}."; Value += $"->{workshop.Name}"; Log.Add(log); workshop.Factory.Logger.WriteLine(log); }
internal void FinishOperation(Workshop workshop) { string log; if (Marker == Stages.Count) { Completed = true; Value += "->End"; log = $"{workshop.Name} закончил последнюю операцию {Stage.GetDetailOperationName(GetCurrentOperation())} с деталью {Id}."; } else { log = $"{workshop.Name} закончил операцию {Stage.GetDetailOperationName(GetCurrentOperation())} с деталью {Id}."; Marker++; } Log.Add(log); workshop.Factory.Logger.WriteLine(log); }