internal WorkReport Work(Hour currentHour, AllocatedCase currentCase) { if (currentCase == null) { return(WorkReport.MakeNullReport()); } return(currentCase.DoWorkAndMakeReport(this, currentHour)); }
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; }
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); }