Exemplo n.º 1
0
 /// <summary>
 /// Генерация одной заявки
 /// </summary>
 /// <param name="requestId">Номер запроса</param>
 private void GenerateOne(int requestId = 0)
 {
     lock (_requests)
     {
         var request = GetRandomRequest(requestId);
         _requests.Enqueue(request);
         ContextProvider.GetInstance().Context.Send(obj => RequestAdded?.Invoke(obj as Request), request);
     }
 }
Exemplo n.º 2
0
        public HouseManagement()
        {
            _requests = new Queue <Request>();

            _departments = CreateDepartments();
            _departments.Subscribe((request, employee) => RequestFinished?.Invoke(request, employee));

            _committee = new RequestCommittee(_requests);
            _committee.RequestAdded += request => RequestAdded?.Invoke(request);

            _dispatcher = new Dispatcher(_departments, _requests);
            _dispatcher.RequestProcessed   += request => RequestProcessed?.Invoke(request);
            _dispatcher.RequestPostponed   += request => RequestPostponed?.Invoke(request);
            _dispatcher.SimulationFinished += () => SimulationFinished?.Invoke();
        }