public ServerResult <List <Conspect> > GetListPaged(GetConspectsListPagedArgs args) { try { if (args.PageSize == 0 && args.PageNumber == 0) { return new ServerResult <List <Conspect> > { Success = false, Message = "Both page number and page size is 0" } } ; var list = _repository.GetConspectsList(args); foreach (var conspect in list) { } return(new ServerResult <List <Conspect> > { Success = true, Data = _repository.GetConspectsList(args), }); } catch (Exception exc) { return(new ServerResult <List <Conspect> > { Success = false, Message = exc.Message }); } }
public List<Conspect> GetConspectsList(GetConspectsListPagedArgs args) { var list = _context.Conspects .AsQueryable(); if (args.UserId.HasValue) list = list.Where(c => c.UserId == args.UserId.Value); if (args.CategoryId.HasValue) { var categoryIdsList = _context.ConspectsCategories .Where(cat => cat.CategoryId == args.CategoryId.Value) .Select(c => c.ConspectId) .ToList(); list = list.Where(c => categoryIdsList.Contains(c.Id)); } if (!string.IsNullOrEmpty(args.Title?.Trim())) list = list.Where(c => c.Title.Contains(args.Title.Trim())); return list.Skip((args.PageNumber - 1) * args.PageNumber) .Take(args.PageSize) .Select(x => new Conspect { Id = x.Id, Title = x.Title, Content = x.Content, ParentId = x.ParentId, Inserted = x.Inserted, Rating = x.Rating, User = new User { FirstName = x.User.FirstName, LastName = x.User.LastName, UserName = x.User.UserName, }, Comments = x.Comments.Select(c => new Comment { Content = c.Content, Rating = c.Rating, User = new User { FirstName = c.User.FirstName, LastName = c.User.LastName, UserName = c.User.LastName, } }).ToList(), }) .ToList(); }
public ServerResult<List<Conspect>> GetListPaged([FromBody] GetConspectsListPagedArgs args) { return _service.GetListPaged(args); }