do
{
Console.WriteLine("Текущее время {0}", currentTime);
currentTime += DoubleTime();
calendar.SortByIncreasing();
Event ev = calendar.GetFirstElement();
calendar.RemoveElement(ev);
if (ev.type == 1) // если это заявка
{
Console.WriteLine("Исполняется запрос");
Event nextRequest = new Event(1, currentTime);
calendar.PutEventIntoCalendar(nextRequest);
Console.WriteLine("Следующий запрос добавлен в Календарь. Он пришел в {0}", currentTime);
if (systemStatus == "Free")
{
systemStatus ="Busy";
calendar.PutEventIntoCalendar(0, currentTime);
Console.WriteLine("Окончание запроса добавлено в Календарь. Событие пришло в {0}", currentTime);
}
else
{
queue.Enqueue(ev);
Console.WriteLine("Запрос помещен в очередь");
}
}
else // если это конец выполнения заявки
{
Console.WriteLine("Обрабатывается окончание запроса");
if (queue.isEmpty() == false) // если очередь не пуста
{
Event nextRequest = new Event();
nextRequest = queue.GetFirstElement();
queue.Dequeue();
calendar.PutEventIntoCalendar(0, currentTime);
Console.WriteLine("Окончание запроса добавлено в календарь. Событие пришло в {0}", currentTime);
}
else
{
systemStatus = "Free";
}
}
Console.WriteLine();
} while (currentTime < intervalUpperLimit);