public HistoricalMeetingTimes GetHistoricalTimingData(DateTime dt) { HistoricalMeetingTimes result = null; var startDate = dt.AddMonths(-HistoricalMonths); var times = GetMeetingTimesRange(startDate, dt); foreach (var t in times) { if (t.MeetingPlannedEnd != default(TimeSpan) && t.MeetingActualEnd != default(TimeSpan)) { if (result == null) { result = new HistoricalMeetingTimes(); } var summary = new MeetingTimeSummary { MeetingDate = t.MeetingDate, Overtime = t.GetMeetingOvertime() }; result.Add(summary); } } result?.Sort(); return(result); }
private bool UseSummary(MeetingTimeSummary summary, ChartMeetingType mtgType) { if (mtgType == ChartMeetingType.Both || (mtgType == ChartMeetingType.Weekend && (summary.MeetingDate.DayOfWeek == DayOfWeek.Saturday || summary.MeetingDate.DayOfWeek == DayOfWeek.Sunday)) || (mtgType == ChartMeetingType.Midweek && summary.MeetingDate.DayOfWeek != DayOfWeek.Saturday && summary.MeetingDate.DayOfWeek != DayOfWeek.Sunday)) { return(Math.Abs(summary.Overtime.TotalMinutes) < 30); } return(false); }
private bool UseSummary(MeetingTimeSummary summary, ChartMeetingType mtgType) { var isWeekend = _queryWeekendService.IsWeekend( summary.MeetingDate, _weekendIncludesFriday); if (mtgType == ChartMeetingType.Both || (mtgType == ChartMeetingType.Weekend && isWeekend) || (mtgType == ChartMeetingType.Midweek && !isWeekend)) { return(Math.Abs(summary.Overtime.TotalMinutes) < 30); } return(false); }