public async Task <List <TimeLogModel> > GetTimeLogList(TimeLogFilter timeLogFilter, ClaimsPrincipal user) { var userId = int.Parse(_userManager.GetUserId(user)); var projectsFilter = timeLogFilter.ProjectIds; var timeFilter = timeLogFilter.ActivityDateRangeFilter; var timeLogs = await _context.TimeLogs .Include(tl => tl.Project) .Include(tl => tl.User) .Where(tl => tl.UserId == userId && tl.Date >= timeFilter.DateFrom && tl.Date <= timeFilter.DateTo) .Select(tl => _timeLogMapper.Map(tl)) .ToListAsync(); if (projectsFilter.Count > 0) { timeLogs = timeLogs.Where(tl => projectsFilter.Contains((int)tl.ProjectId)).ToList(); } return(timeLogs); }
public async Task <ActionResult> GetTimeLog([FromBody] TimeLogFilter timeLogFilter) { var result = await _timeLogService.GetTimeLogList(timeLogFilter, User); return(Ok(result)); }