コード例 #1
0
ファイル: PastaRepository.cs プロジェクト: kova98/manistra
        public IEnumerable <Pasta> GetFavoritesForUser(User user, PastaResourceParameters parameters)
        {
            var pastas = GetAllAsQueryable(parameters);

            pastas = pastas.Where(x => x.FavoritedBy.Contains(user));

            return(pastas);
        }
コード例 #2
0
ファイル: PastaController.cs プロジェクト: kova98/manistra
        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));
        }
コード例 #3
0
ファイル: PastaController.cs プロジェクト: kova98/manistra
        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));
        }
コード例 #4
0
ファイル: PastaRepository.cs プロジェクト: kova98/manistra
        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);
        }
コード例 #5
0
ファイル: PastaRepository.cs プロジェクト: kova98/manistra
 public IEnumerable <Pasta> GetAll(PastaResourceParameters parameters)
 {
     return(GetAllAsQueryable(parameters));
 }