public void AgregatAssembly(Agregat agregat) { int workerCapacity = GetWorkerCapacity(); int leftAssembleDetails = agregat.GeneralCountDetails - agregat.CurrentAssembledDetails; int countDetailsToAssemble = workerCapacity >= leftAssembleDetails ? leftAssembleDetails : workerCapacity; agregat.CurrentAssembledDetails += countDetailsToAssemble; Console.WriteLine($"Worker {this.Name} added {countDetailsToAssemble} detail(s) to Agregat"); }
static void Main(string[] args) { Agregat Agregat1 = new Agregat(25); Console.WriteLine($"Agregat contains {Agregat1.GeneralCountDetails} details"); Console.WriteLine("-----------------------------------------------------"); Worker[] workers1 = GetWorkers(5, 4, 3); Console.WriteLine("Team consists of:"); PrintWorkersTeam(workers1); Console.WriteLine("-----------------------------------------------------"); Console.WriteLine("Assembly of agregat has been started"); Console.WriteLine("-----------------------------------------------------"); AssemleAgregat(Agregat1, workers1); Console.ReadLine(); }
static void AssemleAgregat(Agregat agregate, Worker[] workersTeam) { while (agregate.CurrentAssembledDetails < agregate.GeneralCountDetails) { for (int i = 0; i < workersTeam.Length; i++) { workersTeam[i].AgregatAssembly(agregate); if (agregate.IsAgregateAssambled()) { Console.WriteLine("----------------------------------------------------------"); Console.WriteLine("Agregat has been assembled"); Console.WriteLine("----------------------------------------------------------"); Console.WriteLine("General count of assembled details is " + agregate.CurrentAssembledDetails); break; } Console.WriteLine("Current count of assembled details is " + agregate.CurrentAssembledDetails); } } }