Example #1
0
        internal WorkReport Work(Hour currentHour, AllocatedCase currentCase)
        {
            if (currentCase == null)
            {
                return(WorkReport.MakeNullReport());
            }

            return(currentCase.DoWorkAndMakeReport(this, currentHour));
        }
Example #2
0
        internal void Add(Member member, WorkReport report)
        {
            if (!_members.Contains(member))
            {
                throw new InvalidOperationException("BoardReport.Add: member is not registered.");
            }

            if (_publicReports.ContainsKey(member.ID))
            {
                throw new InvalidOperationException("BoardReport.Add: a report has already been recorded for member.");
            }

            _publicReports[member.ID] = report;
        }
Example #3
0
        internal override BoardReport DoWork(Hour currentHour)
        {
            BoardReport boardReport = new BoardReport(_members);

            _registrar.DoWork(currentHour);

            foreach (Member member in _members)
            {
                //working
                AllocatedCase currentCase = _registrar.GetCurrentCase(currentHour, member);
                WorkReport    report      = _memberWork(currentHour, currentCase, member);
                boardReport.Add(member, report);

                //boardReport.Add(member, _memberWork(currentHour, member));
            }

            return(boardReport);
        }