Example #1
0
        public PaginatedData <CourseApi> Get(int page = 0, int pageSize = 20)
        {
            var totalCourses = new GetTotalCoursesUseCase(_unitOfWork).Execute();
            var courses      = new GetCoursesUseCase(page, pageSize, _unitOfWork).Execute();

            return(PaginatedData <CourseApi> .Create(totalCourses, page, pageSize, CourseApi.FromDomain(courses)));
        }
        public PaginatedData <SearchResult> Search(SearchRequest request)
        {
            var moviesQuery  = Repository.SearchInMovies(request.Keyword);
            var personsQuery = Repository.SearchInPersons(request.Keyword);
            var usersQuery   = Repository.SearchInUsers(request.Keyword);
            var ratingsQuery = Repository.SearchInRatings(request.Keyword);

            var result = new List <SearchResult>();

            result.AddRange(Mapper.Map <List <MovieSearchResult> >(moviesQuery).Select(o => new SearchResult()
            {
                Type = SearchResultType.Movie, MovieResult = o
            }));
            result.AddRange(Mapper.Map <List <PersonSearchResult> >(personsQuery).Select(o => new SearchResult()
            {
                Type = SearchResultType.Person, PersonResult = o
            }));
            result.AddRange(Mapper.Map <List <UserSearchResult> >(usersQuery).Select(o => new SearchResult()
            {
                Type = SearchResultType.User, UserResult = o
            }));
            result.AddRange(Mapper.Map <List <RatingSearchResult> >(ratingsQuery).Select(o => new SearchResult()
            {
                Type = SearchResultType.Rating, RatingResult = o
            }));

            return(PaginatedData <SearchResult> .Create(result, request));
        }
Example #3
0
        public async Task <IActionResult> GetData([FromQuery] PaginatedRequest request)
        {
            var query = Repository.GetKarma(request.Sort);
            var data  = PaginatedData <KarmaItem> .Create(query, request, entity => new KarmaItem(entity));

            var users = await GrillBotService.GetUsersSimpleInfoBatchAsync(data.Data.Select(o => o.UserID));

            var position = PaginationHelper.CountSkipValue(request) + 1;

            foreach (var item in data.Data)
            {
                item.User = users.Find(o => o.ID == item.UserID);

                if (item.User == null)
                {
                    item.User    = SimpleUserInfo.DefaultUser;
                    item.User.ID = item.UserID;
                }

                item.Position = position;
                position++;
            }

            data.Data = data.Data.ToList();
            return(Ok(data));
        }
Example #4
0
        public PaginatedData <SimpleUser> GetUsersList(UserSearchRequest request)
        {
            var query = Repository.GetUserList(request.Username);

            return(PaginatedData <SimpleUser> .Create(query, request, entityList => Mapper.Map <List <SimpleUser> >(entityList)));
        }
        public PaginatedData <SimpleMovie> GetMoviesList(MovieSearchRequest request)
        {
            var query = MoviesRepository.GetMovies(request.Name, request.GenreIds, request.Country, request.LengthFrom, request.LengthTo);

            return(PaginatedData <SimpleMovie> .Create(query, request, entityList => Mapper.Map <List <SimpleMovie> >(entityList)));
        }
        public PaginatedData <Rating> GetRateList(RatingSearchRequest request)
        {
            var query = MoviesRepository.GetRatesList(request.MovieIDs, request.TextContains, request.ScoreFrom, request.ScoreTo);

            return(PaginatedData <Rating> .Create(query, request, entityList => Mapper.Map <List <Rating> >(entityList)));
        }
        public PaginatedData <SimplePerson> GetPersonList(PersonSearchRequest request)
        {
            var query = PersonsRepository.GetPersons(request.NameSurname);

            return(PaginatedData <SimplePerson> .Create(query, request, entityList => Mapper.Map <List <SimplePerson> >(entityList)));
        }