Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }