public string FormHistResponse(StatisticsRequest request) { var response = new StatisticsResponse { Labels = GetLabels(request.Year, request.StartMonth, request.EndMonth), VacationAbsenceData = GetTotalAbsenceValues(request, Reason.V), SickAbsenceData = GetTotalAbsenceValues(request, Reason.S), PersonalAbsenceData = GetTotalAbsenceValues(request, Reason.P) }; return JsonConvert.SerializeObject(response); }
private IEnumerable<int> GetTotalAbsenceValues(StatisticsRequest request, Reason reason) { var employees = request.ProjectId == null ? employeeService.GetAllViewModels() : projectService.GetSingle((int) request.ProjectId).CurrentEmployees; var totalList = new List<int>(); for (var currentMonth = request.StartMonth; currentMonth < request.EndMonth + 1; currentMonth++) { totalList.Add(GetAbsenceValuesInSingleMonth(employees, reason, currentMonth, request.Year, request.ProjectId)); } return totalList; }
public string GetData(StatisticsRequest request) { return statisticsService.FormHistResponse(request); }