protected override List <Attendance> CalculateReportData() { Logger.Info("Calculating attendance"); var userNames = _userReporter.Report().Select(x => x.Login).ToList(); var attendance = GetAttendances(userNames, _absenceReporter.Report(), _worklogsReporter.Report(), _from, _till); Logger.Info("Writing to time grid sheet"); return(attendance); }
protected override List <JiraAbsence> CalculateReportData() { Logger.Info("Getting jira absences"); var initialsDictionary = _userReporter.Report().ToDictionary(x => x.Initials, x => x.Login); var allStatusAbsences = _jiraApiClient.GetAbsences(initialsDictionary).ToList(); var absences = allStatusAbsences.Where(x => !AbsenceStatusesToBeIgnored.Contains(x.Status)).ToList(); Logger.Info("Found {0} absences in all status, {1} in usable status", allStatusAbsences.Count, absences.Count); return(absences); }
protected override List <Worklog> CalculateReportData() { Logger.Info("Getting worklogs in range {0} to {1}", _from, _till); var result = new List <Worklog>(); var userNames = _userReporter.Report() .Select(x => x.Login) .ToList(); Worklogs worklogs = _jiraApiClient.GetWorklogs(userNames, _from, _till); foreach (var user in userNames) { Timesheet personTimesheet = worklogs.GetTimesheet(user) ?? new Timesheet(user); result.AddRange(personTimesheet.Worklogs.Select(x => Worklog.FromWorklog(x, user))); } return(result); }