Esempio n. 1
0
        public async Task <List <MovieDbSearchResult> > AdvancedSearch(DiscoverModel model, CancellationToken cancellationToken)
        {
            var request = new Request($"discover/{model.Type}", BaseUri, HttpMethod.Get);

            request.FullUri = request.FullUri.AddQueryParameter("api_key", ApiToken);
            if (model.ReleaseYear.HasValue && model.ReleaseYear.Value > 1900)
            {
                request.FullUri = request.FullUri.AddQueryParameter("year", model.ReleaseYear.Value.ToString());
            }
            if (model.KeywordIds.Any())
            {
                request.FullUri = request.FullUri.AddQueryParameter("with_keyword", string.Join(',', model.KeywordIds));
            }
            if (model.GenreIds.Any())
            {
                request.FullUri = request.FullUri.AddQueryParameter("with_genres", string.Join(',', model.GenreIds));
            }
            if (model.WatchProviders.Any())
            {
                request.FullUri = request.FullUri.AddQueryParameter("with_watch_providers", string.Join(',', model.WatchProviders));
            }
            //request.FullUri = request.FullUri.AddQueryParameter("sort_by", "popularity.desc");

            var result = await Api.Request <TheMovieDbContainer <SearchResult> >(request, cancellationToken);

            return(Mapper.Map <List <MovieDbSearchResult> >(result.results));
        }
Esempio n. 2
0
        //

        public async Task <ReleaseViewModel> SetModel(DiscoverModel model)
        {
            _model  = model;
            Release = await _modService.RequestRelease(_model.ReleaseInfo);

            Downloaded = _downloadedMods.Contains(_model.Category, Release);

            // Set download information
            await SetInformation();

            return(this);
        }
Esempio n. 3
0
        public async Task <IEnumerable <SearchMovieViewModel> > AdvancedSearch(DiscoverModel model, int currentlyLoaded, int toLoad, CancellationToken cancellationToken)
        {
            var langCode = await DefaultLanguageCode(null);

            //var pages = PaginationHelper.GetNextPages(currentlyLoaded, toLoad, _theMovieDbMaxPageItems);

            var results = new List <MovieDbSearchResult>();
            //foreach (var pagesToLoad in pages)
            //{
            var apiResult = await MovieApi.AdvancedSearch(model, cancellationToken);

            //results.AddRange(apiResult.Skip(pagesToLoad.Skip).Take(pagesToLoad.Take));
            //}
            return(await TransformMovieResultsToResponse(apiResult));
        }
Esempio n. 4
0
 public Task <IEnumerable <SearchMovieViewModel> > AdvancedSearchMovie([FromBody] DiscoverModel model, int currentPosition, int amountToLoad)
 {
     return(_movieEngineV2.AdvancedSearch(model, currentPosition, amountToLoad, Request.HttpContext.RequestAborted));
 }
Esempio n. 5
0
        async public Task GetNearbyTransactions()
        {
            if (QueryLock)
            {
                return;
            }
            QueryLock = true;

            try
            {
                var locator = CrossGeolocator.Current;
                locator.DesiredAccuracy = 50;

                var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));

                if (position == null)
                {
                    return;
                }

                var lat = position.Latitude;
                var lon = position.Longitude;

                var me = RealmUserServices.GetMe(false);
                if (me == null)
                {
                    return;
                }

                var id = ServiceLocator.Instance.Resolve <IPersistantStorage>().GetUserId();
                if (String.IsNullOrEmpty(id))
                {
                    return;
                }

                await WebServices.UserController.UpdateUser(lat, lon);

                await WebServices.TransactionsController.GetTranactions(AllItems);

                var cards         = RealmServices.GetUnretainedCards();
                var filteredCards = FilterCards(cards);

                System.Diagnostics.Debug.WriteLine("cards count: " + filteredCards.Count());

                foreach (var card in filteredCards)
                {
                    //don't show my own broadcasts
                    var isMine = card.Owner.FacebookID.Equals(id, StringComparison.OrdinalIgnoreCase);
                    if (isMine)
                    {
                        continue;
                    }

                    var model = new DiscoverModel();
                    model.Card = card;
                    TableItems.Add(model);
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e.Message);
            }

            QueryLock = false;
        }