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