Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public async Task <ActionResult> GetTimeLog([FromBody] TimeLogFilter timeLogFilter)
        {
            var result = await _timeLogService.GetTimeLogList(timeLogFilter, User);

            return(Ok(result));
        }