private int upperHoursLimit(ITimeEntriesTotals report) { var maximumTotalTrackedTimePerGroup = report.Groups.Max(group => group.Total); var rounded = (int)Ceiling(maximumTotalTrackedTimePerGroup.TotalHours / roundToMultiplesOf) * roundToMultiplesOf; return(Max(roundToMultiplesOf, rounded)); }
private DateTimeOffset[] weeklyLegend(ITimeEntriesTotals report) => report.Groups.Length <= maximumLabeledNumberOfDays && report.Resolution == Resolution.Day ? daysRange(report.Groups.Length, report.StartDate) : null;
private IImmutableList <DateTimeOffset> weeklyLegend(ITimeEntriesTotals report) => report.Groups.Length <= maximumLabeledNumberOfDays && report.Resolution == Resolution.Day ? daysRange(report.Groups.Length, report.StartDate) : ImmutableList <DateTimeOffset> .Empty;
private BarViewModel[] bars(ITimeEntriesTotals report) { var upperLimit = upperHoursLimit(report); return(report.Groups.Select(normalizedBar(upperLimit)).ToArray()); }
private IImmutableList <BarViewModel> bars(ITimeEntriesTotals report) { var upperLimit = upperHoursLimit(report); return(report.Groups.Select(normalizedBar(upperLimit)).ToImmutableList()); }