public IEnumerable <Pasta> GetFavoritesForUser(User user, PastaResourceParameters parameters) { var pastas = GetAllAsQueryable(parameters); pastas = pastas.Where(x => x.FavoritedBy.Contains(user)); return(pastas); }
public async Task <ActionResult <IEnumerable <PastaDto> > > GetFavorites( [FromQuery] PastaResourceParameters parameters) { var user = await GetUser(); var pastas = pastaRepo.GetFavoritesForUser(user, parameters); var pastasDto = mapper.Map <IEnumerable <PastaDto> >(pastas).ToList(); pastasDto.ForEach(x => x.IsFavorite = true); return(Ok(pastasDto)); }
public async Task <ActionResult <IEnumerable <PastaDto> > > GetPastas( [FromQuery] PastaResourceParameters parameters) { var pastas = pastaRepo.GetAll(parameters); var pastasDto = mapper.Map <IEnumerable <PastaDto> >(pastas); if (User.Identity.IsAuthenticated) { var user = await GetUser(); SetIsFavoriteForPastaDto(pastas, pastasDto, user); } return(Ok(pastasDto)); }
private IQueryable <Pasta> GetAllAsQueryable(PastaResourceParameters parameters) { var pastas = context.Pastas .Include(x => x.FavoritedBy) .AsQueryable(); if (string.IsNullOrWhiteSpace(parameters.SearchQuery) == false) { pastas = pastas.Where(x => x.Title.ToUpper().Contains(parameters.SearchQuery.ToUpper()) || x.Content.ToUpper().Contains(parameters.SearchQuery.ToUpper())); } pastas = GetOrderByDelegate(parameters.OrderBy)(pastas); return(pastas); }
public IEnumerable <Pasta> GetAll(PastaResourceParameters parameters) { return(GetAllAsQueryable(parameters)); }