public PagedResponse <UserDTO> GetPage(string userId, PagedQuery pageQuery, FilterAndOrderQuery filterAndOrderQuery) { var res = new PagedResponse <UserDTO>(); var size = pageQuery.PageSize == null ? 3 : (int)pageQuery.PageSize; var num = pageQuery.PageNum == null ? 3 : (int)pageQuery.PageNum; var usersQuery = _userRepository.GetBasicQuery(); if (filterAndOrderQuery != null && filterAndOrderQuery.Filters != null) { if (filterAndOrderQuery.Filters.Count() > 0) { usersQuery = usersQuery .ApplyFilterOptions(filterAndOrderQuery.Filters.First()); usersQuery = usersQuery.OrderBy(u => u.UserName); } } var users = usersQuery.Page(num, size).ToList(); res.Success = true; res.EntitiesDTO = _mapper.Map <ICollection <User>, ICollection <UserDTO> >(users); return(res); }
public IActionResult GetPage([FromQuery] PagedQuery pageQuery, [FromQuery] FilterAndOrderQuery filterAndOrderQuery) { var httpUser = HttpContext.User; var claim = httpUser.Claims.Single(x => x.Type == "Id"); var id = claim.Value; var res = _projectService.FindPage(id, pageQuery, filterAndOrderQuery); var pageNum = (int)pageQuery.PageNum; var pageSize = (int)pageQuery.PageSize; var nextPage = pageNum >= 1 ? _uriService.GetAllUri(new PagedQuery(pageSize, pageNum + 1)).ToString() : null; var prevPage = pageQuery.PageNum - 1 >= 1 ? _uriService.GetAllUri(new PagedQuery(pageSize, pageNum - 1)).ToString() : null; res.NextPage = nextPage; res.PrevPage = prevPage; return(Ok(res)); }
public IActionResult GetPage([FromQuery] PagedQuery pageQuery, [FromQuery] FilterAndOrderQuery filterAndOrderQuery) { var userId = HttpContext.User.Claims.Single(x => x.Type == "Id").Value; var res = _userService.GetPage(userId, pageQuery, filterAndOrderQuery); if (!res.Success) { return(BadRequest(res)); } return(Ok(res)); }
public IActionResult GetPage([FromQuery] PagedQuery pageQuery, [FromQuery] FilterAndOrderQuery filterAndOrderQuery) { var userId = HttpContext.User.Claims.Single(x => x.Type == "Id").Value; return(Ok(_ticketService.FindPage(userId, pageQuery, filterAndOrderQuery))); }
public PagedResponse <ProjectAbbreviatedDTO> FindPage(string id, PagedQuery pagedQuery, FilterAndOrderQuery filterAndOrder) { var res = new PagedResponse <ProjectAbbreviatedDTO>(); var size = pagedQuery.PageSize == null ? 3 : (int)pagedQuery.PageSize; var num = pagedQuery.PageNum == null ? 3 : (int)pagedQuery.PageNum; var projectsQuery = _projectRepository.GetBasicQuery(); Console.WriteLine(filterAndOrder.Filters is null); projectsQuery = projectsQuery.Where( p => p.ProjectUsersReq.Where(pur => (pur.UserAssigned.Id.Equals(Guid.Parse(id)) || pur.Sender.Id.Equals(Guid.Parse(id))) && pur.Accepted).ToList().Count > 0); if (filterAndOrder != null && filterAndOrder.Filters != null) { Console.WriteLine("recognised the filters"); foreach (var filter in filterAndOrder.Filters) { projectsQuery = projectsQuery .ApplyFilterOption(filter.ConvertTStringToProjectFilterOption(), filter.Value); } projectsQuery = projectsQuery .ApplySortingOptions(filterAndOrder.OrderBy.ConvertTStringToProjectOrderOption()); } var projects = projectsQuery.Page(num, size).ToList(); res.Success = true; res.EntitiesDTO = _mapper.Map <ICollection <Project>, ICollection <ProjectAbbreviatedDTO> >(projects); return(res); }
public PagedResponse <TicketAbbreviatedDTO> FindPage(string userId, PagedQuery pageQuery, FilterAndOrderQuery filterAndOrderQuery) { var res = new PagedResponse <TicketAbbreviatedDTO>(); var size = pageQuery.PageSize == null ? 3 : (int)pageQuery.PageSize; var num = pageQuery.PageNum == null ? 3 : (int)pageQuery.PageNum; var ticketQuery = _ticketRepository.GetBasicQuery(); ticketQuery = ticketQuery.Where( t => t.Project.ProjectUsersReq.Where( pur => (pur.UserAssigned.Id.Equals(Guid.Parse(userId)) || pur.Sender.Id.Equals(Guid.Parse(userId))) && pur.Accepted).ToList().Count > 0 ); //p => p.ProjectUsersReq.Where(pur => pur.UserAssigned.Id.Equals(Guid.Parse(id)) || pur.Sender.Id.Equals(Guid.Parse(id))).ToList().Count > 0 if (filterAndOrderQuery != null && filterAndOrderQuery.Filters != null) { Console.WriteLine("recognised the filters"); if (filterAndOrderQuery.Filters.Count() > 0) { ticketQuery = ticketQuery.Where(t => t.Title.Contains(filterAndOrderQuery.Filters.First().Value)); } ticketQuery = ticketQuery.OrderBy(t => t.Title); } var tickets = ticketQuery.Page(num, size).Include(t => t.Status).ToList(); res.Success = true; res.EntitiesDTO = _mapper.Map <ICollection <Ticket>, ICollection <TicketAbbreviatedDTO> >(tickets); return(res); }
public IActionResult GetPageForTicket(Guid id, [FromQuery] PagedQuery pageQuery, [FromQuery] FilterAndOrderQuery filterAndOrderQuery) { var res = new PagedResponse <CommentDTO>(); var size = pageQuery.PageSize == null ? 3 : (int)pageQuery.PageSize; var num = pageQuery.PageNum == null ? 3 : (int)pageQuery.PageNum; var commentsQuery = _commentRepository.GetBasicQuery(); if (filterAndOrderQuery != null && filterAndOrderQuery.Filters != null) { if (filterAndOrderQuery.Filters.Count() > 0) { commentsQuery = commentsQuery .Where(c => c.Commenter.UserAssigned.UserName.Contains(filterAndOrderQuery.Filters.First().Value)); commentsQuery = commentsQuery.OrderBy(c => c.Created); } } var comments = commentsQuery .Where(c => c.Ticket.Id.Equals(id)) .Include(c => c.Commenter) .ThenInclude(pur => pur.UserAssigned) .Page(num, size) .ToList(); res.Success = true; res.EntitiesDTO = _mapper.Map <ICollection <Comment>, ICollection <CommentDTO> >(comments); return(Ok(res)); }