예제 #1
0
        public Board()
        {
            _hour       = 0;
            _totalHours = __simulationWeeks * __daysPerWeek * __hoursPerDay;
            _reportLog  = new List <BoardWorkReport>();

            _chairSummonsHours        = __chairSummonsHours;
            _chairDecisionHours       = __chairDecisionHours;
            _chairOPPreparationHours  = __chairOPPreparationHours;
            _memberSummonsHours       = __memberSummonsHours;
            _memberDecisionHours      = __memberDecisionHours;
            _memberOPPreparationHours = __memberOPPreparationHours;

            _opQueue           = new Queue <OP>();
            _opLeadWeeks       = __opLeadWeeks;
            _opDuration        = __opDuration;
            _minDaysBetweenOPs = __minDaysBetweenOP;

            _chair            = new Chair(_chairSummonsHours, _chairDecisionHours, _chairOPPreparationHours);
            _technicalMembers = new List <TechnicalMember>();
            _numberOfMembers  = __numberOfMembers;
            for (int i = 0; i < _numberOfMembers; i++)
            {
                _technicalMembers.Add(new TechnicalMember(_memberSummonsHours, _memberDecisionHours, _memberOPPreparationHours));
            }
        }
예제 #2
0
 public ChairReport(Chair m, uint hour)
     : base(m)
 {
     SummonsQueueSize  = m.SummonsQueueSize;
     SummonsQueueAge   = m.SummonsQueueAgeAtHour(hour);
     DecisionQueueSize = m.DecisionQueueSize;
     DecisionQueueAge  = m.DecisionQueueAgeAtHour(hour);
 }
예제 #3
0
 public void Remake()
 {
     _chair = new Chair(_chairSummonsHours, _chairDecisionHours, _chairOPPreparationHours);
     _technicalMembers.Clear();
     for (int i = 0; i < _numberOfMembers; i++)
     {
         _technicalMembers.Add(new TechnicalMember(_memberSummonsHours, _memberDecisionHours, _memberOPPreparationHours));
     }
 }
예제 #4
0
        public OP(Chair ch, TechnicalMember rapporteur, uint startDay, uint duration)
        {
            _chair      = ch;
            _rapporteur = rapporteur;
            _startDay   = startDay;
            _endDay     = startDay + duration / Board.__HoursPerDay;

            _startHour = startDay * Board.__HoursPerDay;
            _endHour   = _startHour + duration - 1;
        }
예제 #5
0
        public Board(Chair ch, TechnicalMember m)
        {
            _hour       = 0;
            _totalHours = __simulationWeeks * __daysPerWeek * __hoursPerDay;
            _reportLog  = new List <BoardWorkReport>();

            _opQueue          = new Queue <OP>();
            _chair            = ch;
            _technicalMembers = new List <TechnicalMember>();
            _technicalMembers.Add(m);

            _chairSummonsHours   = ch.SummonsHours;
            _chairDecisionHours  = ch.DecisionHours;
            _memberSummonsHours  = m.SummonsHours;
            _memberDecisionHours = m.DecisionHours;
        }
예제 #6
0
        public Board(Chair ch, List <TechnicalMember> ms)
        {
            _hour       = 0;
            _totalHours = __simulationWeeks * __daysPerWeek * __hoursPerDay;
            _reportLog  = new List <BoardWorkReport>();

            _opQueue     = new Queue <OP>();
            _opLeadWeeks = __opLeadWeeks;

            _chair            = ch;
            _technicalMembers = ms;

            _chairSummonsHours   = ch.SummonsHours;
            _chairDecisionHours  = ch.DecisionHours;
            _memberSummonsHours  = ms.First().SummonsHours;
            _memberDecisionHours = ms.First().DecisionHours;
        }