public async Task <IEnumerable <AttendanceTrendModel> > GetAttendanceStatisticsByClient(int clientId, int userId, int?placeId) { if (!await _permissionManager.HasPermission(clientId, userId, Permission.CanViewClientAdminDashboard)) { throw new Exception("User has not permission to perform this operation"); } var data = await _dashboardRepository.GetAttendanceStatisticsByClient(clientId, placeId); var totalPresentEmployees = data.Count(); var todayDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 0, 0, 0); var list = new List <AttendanceTrendModel>(); for (int i = 7; i > 0; i--) { var startDate = todayDate.AddDays(-i); var endDate = todayDate.AddDays(-(i - 1)); var dataCount = data.Where(a => a.AttendanceDate.Value >= startDate && a.AttendanceDate.Value < endDate).Count(); var model = new AttendanceTrendModel(); model.AttendanceTime = startDate.ToString("dd MMM"); model.Attendance = dataCount; list.Add(model); } return(list); }