public async Task <PagedList <Assignment> > GetAssignments(AssignmentParams assParams)
        {
            var assignments = _context.Assignments.Include(ass => ass.AssignedTo).AsQueryable();

            if (assParams.AssignedToId != 0 && assParams.AssignedToId != -1)
            {
                assignments = assignments.Where(ass => ass.AssignedToId == assParams.AssignedToId);
            }
            if (assParams.DateFrom != null && assParams.DateFrom != DateTime.MinValue)
            {
                assignments = assignments.Where(ass => ass.AssignedDate >= assParams.DateFrom);
            }
            if (assParams.DateTo != null && assParams.DateTo != DateTime.MinValue)
            {
                assignments = assignments.Where(ass => ass.AssignedDate <= assParams.DateTo);
            }
            if (!string.IsNullOrWhiteSpace(assParams.BookAsin))
            {
                assignments = assignments.Where(ass => ass.BookAsin == assParams.BookAsin);
            }
            if (!string.IsNullOrWhiteSpace(assParams.Country))
            {
                assignments = assignments.Where(ass => ass.Country.ToLower() == assParams.Country.ToLower());
            }
            assignments = assignments.Where(ass => ass.IsDeleted == false && ass.IsCompleted == assParams.IsCompleted);
            assignments = assignments.OrderByDescending(ass => ass.AssignedDate);
            return(await PagedList <Assignment> .CreateAsync(assignments, assParams.PageNumber, assParams.PageSize));
        }
示例#2
0
        public async Task <IActionResult> GetAssignments([FromQuery] AssignmentParams assignmentParams)
        {
            var assignments = await _repo.GetAssignments(assignmentParams);

            var assignmentsToReturn = _mapper.Map <IEnumerable <AssignmentForListDto> >(assignments);

            Response.AddPagination(assignments.CurrentPage, assignments.PageSize,
                                   assignments.TotalCount, assignments.TotalPages);

            return(Ok(assignmentsToReturn));
        }
示例#3
0
        public async Task <PagedList <Assignment> > GetUserAssignments(AssignmentParams assignmentParams)
        {
            var assignments = _context.Assignments
                              .Include(x => x.UserAssignments)
                              .AsQueryable();

            // assignments = assignments.Where(x => x.Id == )

            return(await PagedList <Assignment> .CreateAsync(assignments, assignmentParams.PageNumber,
                                                             assignmentParams.PageSize));

            throw new System.NotImplementedException();
        }
示例#4
0
        public async Task <PagedList <Assignment> > GetAssignments(AssignmentParams assignmentParams)
        {
            var assignments = _context.Assignments.AsQueryable();

            if (assignmentParams.StudentLevel != null && assignmentParams.StudentLevel != "all")
            {
                assignments = assignments.Where(a => a.StudentLevel == assignmentParams.StudentLevel);
            }

            assignments = assignments.OrderByDescending(a => a.DateAssigned);
            return(await PagedList <Assignment> .CreateAsync(assignments, assignmentParams.PageNumber,
                                                             assignmentParams.PageSize));
        }
        public async Task <IActionResult> GetAssignments(AssignmentParams assParams)
        {
            var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            if (assParams.SessionId != 0 && assParams.SessionId != -1)
            {
                var session = await _repo.GetSession(assParams.SessionId);

                if (session != null)
                {
                    assParams.DateFrom = session.StartDate;
                    assParams.DateTo   = session.EndDate;
                }
            }
            if (assParams.AssignedToId == 0)
            {
                assParams.AssignedToId = currentUserId;
            }
            var assignments = await _repo.GetAssignments(assParams);

            Response.AddPagination(assignments.CurrentPage, assignments.PageSize,
                                   assignments.TotalCount, assignments.TotalPages);
            return(Ok(assignments));
        }