Beispiel #1
0
        private async Task <IHttpActionResult> LoadManagerDashboard()
        {
            //top widget
            int dismissalRequestsCount = _personnelDismissalService.GetNumberOfRequests(DateTime.Now);
            int absentsCount           = _dashboardService.AbsentPersonnelCount(DateTime.Now);
            int presentsCount          = _dashboardService.PresentPersonnelCount(DateTime.Now);
            int personnelCount         = _personnelService.TotalNumberOfPersonnel();

            //chart data
            var thisMonthChartData = await _dashboardService
                                     .GetChartData(null, DateTime.Now.AddDays(-7), DateTime.Now);

            var prevMonthChartData = await _dashboardService
                                     .GetChartData(null, DateTime.Now.AddMonths(-1).AddDays(-7)
                                                   , DateTime.Now.AddMonths(-1));

            //bottom widget
            var personnelWithMostAbsentTime = _dashboardService
                                              .GetPersonnelWithMostAbsentTime(7, 4);
            var personnelWithMostOperationTime = _dashboardService
                                                 .GetPersonnelWithMostOperationTime(7, 4);
            var personnelWithMostExtraWork = _dashboardService
                                             .GetPersonnelWithMostExtraWork(7, 4);

            return(Ok(new
            {
                showManagerDashboard = true,
                dismissalRequestsCount,
                absentsCount,
                presentsCount,
                personnelCount,
                thisMonthChartData,
                prevMonthChartData,
                personnelWithMostAbsentTime,
                personnelWithMostOperationTime,
                personnelWithMostExtraWork
            }));
        }