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))); }
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()); }
public async Task <List <WorkLogGraphData> > GetWorkLogGraphData(WorkLogGraphDataQuery filters, string userId) { return(await _unitOfWork.WorkLogs.GetWorkLogGraphData(filters, userId)); }