예제 #1
0
        internal override AllocatedCase ProcessNewCase(AppealCase appealCase, Hour currentHour)
        {
            AllocatedCase allocatedCase = _allocateCase(appealCase, currentHour);

            _registrar.ProcessIncomingCase(currentHour, allocatedCase);
            return(allocatedCase);
        }
예제 #2
0
        internal CaseRecord(AppealCase ac)
        {
            Creation = ac.CreationHour;
            OP       = new ActionRecord(WorkerRole.None);

            _summonsRecords  = new Dictionary <WorkerRole, ActionRecord>();
            _decisionRecords = new Dictionary <WorkerRole, ActionRecord>();
            foreach (WorkerRole role in _roles)
            {
                _summonsRecords[role]  = new ActionRecord(role);
                _decisionRecords[role] = new ActionRecord(role);
            }
        }
예제 #3
0
        private AllocatedCase _allocateCase(AppealCase appealCase, Hour currentHour)
        {
            Member chair;
            Member rapporteur;
            Member other;

            chair      = _allocateChair();
            rapporteur = _allocateRapporteur(chair);
            other      = _allocateOtherMember(chair, rapporteur);

            return(new AllocatedCase(
                       appealCase,
                       new CaseBoard(chair, rapporteur, other, _registrar),
                       currentHour));
        }
예제 #4
0
 internal abstract AllocatedCase ProcessNewCase(AppealCase appealCase, Hour currentHour);