示例#1
0
        internal override void ScheduleOP(Hour currentHour, AppealCase appealCase, CaseBoard workers)
        {
            WorkCase opCase = new OPCase(appealCase, workers);

            opCase.LogEnqueued(currentHour);
            _opSchedule.Schedule(currentHour, appealCase, workers);
        }
示例#2
0
 internal WorkCaseCommon(AppealCase appealCase, CaseBoard workers)
 {
     _case      = appealCase ?? throw new ArgumentException("appealCase may not be null");
     _caseBoard = workers ?? throw new ArgumentException("workers may not be null");
     _setupWorkerQueue(workers);
     _setupWork();
 }
示例#3
0
 private void _setupWorkerQueue(CaseBoard workers)
 {
     _workerQueue = new Queue <CaseWorker>();
     foreach (CaseWorker worker in workers)
     {
         _workerQueue.Enqueue(worker);
     }
 }
示例#4
0
        internal override void ProcessNewCase(AppealCase appealCase, Hour currentHour)
        {
            CaseBoard allocation =
                _allocator.GetAllocation(
                    appealCase,
                    Chair,
                    Technicals,
                    _getSecondMemberChoices());

            WorkCase summonsCase = new SummonsCase(appealCase, allocation);

            _registrar.ProcessNewSummons(summonsCase);
            _registrar.CirculateCases(currentHour);
        }
示例#5
0
 public OPCase(AppealCase appealCase, CaseBoard workers)
     : base(appealCase, workers)
 {
 }
示例#6
0
 public DecisionCase(AppealCase appealCase, CaseBoard workers)
     : base(appealCase, workers)
 {
 }
示例#7
0
 internal SummonsCase(AppealCase appealCase, CaseBoard workers)
     : base(appealCase, workers)
 {
 }
示例#8
0
 internal abstract void ScheduleOP(Hour currentHour, AppealCase appealCase, CaseBoard workers);
示例#9
0
 internal abstract void Schedule(Hour startHour, AppealCase appealCase, CaseBoard caseBoard);