Esempio n. 1
0
        public async Task <IList <Movie> > GetMoviesByCriteria(SearchCriteria criteria)
        {
            //Prepare action
            DiscoverMovieAction action = await CreateDiscoveryAction(criteria);

            //Execute discovery action

            /* OUT for NOW, only get 1 page of results
             * List<MovieSearchResultItem> results = new List<MovieSearchResultItem>();
             * PagedResultList<MovieSearchResultItem> discoveryResult;
             * do
             * {
             *      discoveryResult = await action.Execute(_Client);
             *      results.AddRange(discoveryResult.results);
             * }
             * while (discoveryResult.page < discoveryResult.total_pages);
             * //Get movie details
             * IList<MovieDetailsResultItem> movieDetails = await GetMovieDetails(results);*/

            PagedResultList <MovieSearchResultItem> discoveryResult = await action.Execute(_Client);

            //Get movie details
            IList <MovieDetailsResultItem> movieDetails = await GetMovieDetails(discoveryResult.results);

            //Process results
            List <Movie> result = new List <Movie>();

            foreach (var item in movieDetails)
            {
                result.Add(TransformToDomain(item));
            }
            return(result);
        }
Esempio n. 2
0
 protected ListViewModel <TTarget> CreateListViewModel <TTarget, TSource>(PagedResultList <TSource> data, int start, int pageSize,
                                                                          string search)
 {
     return(new ListViewModel <TTarget>
     {
         TotalCount = data.TotalCount,
         List = Mapper.Map <List <TTarget> >(data.List),
         PageSize = pageSize,
         Start = start,
         SearchQuery = search
     });
 }
Esempio n. 3
0
        public virtual ActionResult GetSyndicationItems(int start, int count)
        {
            var client = GetNewsClient();
            var feeds  = client.GetNewsSyndicationItems(start, count, NewsTypeEnumContract.Web, PortalTypeValue);

            var result = new PagedResultList <NewsSyndicationItemExtendedContract>
            {
                TotalCount = feeds.TotalCount,
                List       = Mapper.Map <List <NewsSyndicationItemExtendedContract> >(feeds.List),
            };

            return(Json(result));
        }
Esempio n. 4
0
        /// <summary>
        /// Gets all of T from the data store by pagging.
        /// </summary>
        /// <param name="paging">paging criteria to determine which page of T to return.</param>
        /// <param name="includes">a params expression array of property names to return in each item of the entity object graph.</param>
        /// <returns>RepositoryResultList of T.</returns>
        public PagedResultList <T> Listado(PagingCriteria paging, params Expression <Func <T, object> >[] includes)
        {
            PagedResultList <T> result = new PagedResultList <T>();

            var data         = DbSet.Where(x => true);
            int totalRecords = data.Count();

            foreach (var include in includes)
            {
                data = data.Include(include);
            }

            result.Entities = data.AsQueryable()
                              .OrderBy(paging.SortBy + " " + paging.SortDirection)
                              .Skip((paging.PageNumber - 1) * paging.PageSize)
                              .Take(paging.PageSize);

            result.PagedMetadata = new PagedMetadata(totalRecords, paging.PageSize, paging.PageNumber);
            return(result);
        }
Esempio n. 5
0
        /// <summary>
        /// Finds all of T from the data store with a pagging.
        /// </summary>
        /// <param name="paging">paging criteria to determine which page of T to return.</param>
        /// <param name="whereClause">where clause to filter entities.</param>
        /// <param name="includes">a params expression array of property names to return in each item of the entity object graph.</param>
        /// <returns>RepositoryResultList of T.</returns>
        public override PagedResultList <TEntity> GetAll(PagingCriteria paging, Expression <Func <TEntity, bool> > whereClause, params Expression <Func <TEntity, object> >[] includes)
        {
            PagedResultList <TEntity> result = new PagedResultList <TEntity>();

            var data         = GetAll();
            int totalRecords = data.Count(whereClause);

            foreach (var include in includes)
            {
                data = data.Include(include);
            }

            result.Entities = data.AsQueryable()
                              .Where(whereClause)
                              .OrderBy(paging.SortBy + " " + paging.SortDirection)
                              .Skip((paging.PageNumber - 1) * paging.PageSize)
                              .Take(paging.PageSize);

            result.PagedMetadata = new PagedMetadata(totalRecords, paging.PageSize, paging.PageNumber);
            return(result);
        }