public async Task <IActionResult> GetWorkLogGraphData(WorkLogGraphDataQuery filters)
        {
            var userId = User.FindFirst(ClaimTypes.Sid).Value;

            var graphData = await _workLogService.GetWorkLogGraphData(filters, userId);

            return(Ok(_mapper.Map <List <WorkLogGraphData>, List <WorkLogGraphDataDto> >(graphData)));
        }
Exemple #2
0
        public async Task <List <WorkLogGraphData> > GetWorkLogGraphData(WorkLogGraphDataQuery filters, string userId)
        {
            var workLogs = _context.WorkLogs
                           .Where(wl => (wl.EmployeeId == userId || wl.EmployerId == userId))
                           .AsQueryable();

            // Filter by date
            if (filters.StartDate.HasValue)
            {
                workLogs = workLogs.Where(wl => wl.CreatedDate > filters.StartDate);
            }

            if (filters.EndDate.HasValue)
            {
                workLogs = workLogs.Where(wl => wl.CreatedDate < filters.EndDate);
            }

            return(await workLogs
                   .GroupWorkLogsByGranularity(filters.Granularity)
                   .AsNoTracking()
                   .ToListAsync());
        }
Exemple #3
0
 public async Task <List <WorkLogGraphData> > GetWorkLogGraphData(WorkLogGraphDataQuery filters, string userId)
 {
     return(await _unitOfWork.WorkLogs.GetWorkLogGraphData(filters, userId));
 }