Exemplo n.º 1
0
        public async Task <PaginatedList <WorkLog> > GetWorkLogs(WorkLogQuery filters, string userId)
        {
            var workLogs = _context.WorkLogs
                           .Where(wl => (wl.EmployeeId == userId || wl.EmployerId == userId))
                           .Include(wl => wl.Employee)
                           .Include(wl => wl.Employer)
                           .AsQueryable();

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

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

            if (!string.IsNullOrEmpty(filters.FilterId))
            {
                workLogs = workLogs.Where(
                    wl => (wl.EmployeeId == filters.FilterId || wl.EmployerId == filters.FilterId));
            }

            if (filters.Status.HasValue)
            {
                workLogs = workLogs.Where(wl => wl.Status == filters.Status);
            }

            workLogs = workLogs.AsNoTracking();

            return(PaginatedList <WorkLog> .Create(workLogs, filters.Page ?? 1, 20));
        }
        public async Task <IActionResult> GetWorkLogs(WorkLogQuery filters)
        {
            var userId = User.FindFirst(ClaimTypes.Sid).Value;

            var workLogs = await _workLogService.GetWorkLogs(filters, userId);

            return(Ok(_mapper.Map <PaginatedList <WorkLog>, PaginatedListDto <WorkLogDto> >(workLogs)));
        }
Exemplo n.º 3
0
        public IQueryable <WorkLog> Where(WorkLogQuery queries)
        {
            if (!string.IsNullOrEmpty(queries.UserId))
            {
                var userId = Guid.Parse(queries.UserId);
                return(Where(x => x.EntityStatus == EntityStatus.Activated && x.UserId == userId));
            }

            return(Where(x => x.EntityStatus == EntityStatus.Activated));
        }
Exemplo n.º 4
0
 public async Task <PaginatedList <WorkLog> > GetWorkLogs(WorkLogQuery filters, string userId)
 {
     return(await _unitOfWork.WorkLogs.GetWorkLogs(filters, userId));
 }