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)); }
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)); }
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(); }
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)); }