public async Task <Uri> GetVideoUrl(string title)
        {
            string queryUrl = String.Format(youtubeUri, title);

            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(queryUrl);

            VideoSearchResults v = JsonConvert.DeserializeObject <VideoSearchResults>(data);

            if (v != null && v.Data != null && v.Data.Items != null && v.Data.Items.Count > 0)
            {
#if WINDOWS_PHONE
                return(null);
#elif METRO
                var uri = await MyToolkit.Multimedia.YouTube.GetVideoUriAsync(v.Data.Items[0].Id, MyToolkit.Multimedia.YouTubeQuality.Quality1080P);

                if (uri.IsValid)
                {
                    return(uri.Uri);
                }
#endif
                //return String.Format("vnd.youtube:{0}", v.Data.Items[0].Id);
            }

            return(null);
        }
Example #2
0
        public async Task <Films> GetFilms(RegionDef region, bool fullInfo = false, int cinema = int.MinValue, int film = int.MinValue)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append($"{BaseAPIUrl}{FilmsHandle}");
            sb.Append($"?{QSKeyParam}={DevKey}&{QSTerritoryParam}={region}");

            if (cinema != int.MinValue)
            {
                sb.Append($"&{QSCinemaParam}={cinema}");
            }

            if (film != int.MinValue)
            {
                sb.Append($"&{QSFilmParam}={film}");
            }

            sb.Append($"&{QSFullParam}={fullInfo}");

            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(sb.ToString());

            Films f = JsonConvert.DeserializeObject <Films>(data);

            f.Cinema = cinema;
            return(f);
        }
Example #3
0
        public async Task <FilmImages> GetFilmImages(int filmID)
        {
            string url = String.Format("{0}{1}{2}/{3}?{4}={5}&append_to_response=credits", BaseAPIUrl, MovieDetailsApiUrl, filmID, ImagesApiUrl, AppKeyTag, APIKey);

            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(url);

            FilmImages i = JsonConvert.DeserializeObject <FilmImages>(data);

            return(i);
        }
Example #4
0
        public async Task <Dates> GetDates(RegionDef region, int cinema, int film)
        {
            string url = $"{BaseAPIUrl}{DatesHandle}?{QSKeyParam}={DevKey}&{QSCinemaParam}={cinema}&{QSFilmParam}={film}&{QSTerritoryParam}={region}";

            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(url);

            Dates d = JsonConvert.DeserializeObject <Dates>(data);

            return(d);
        }
Example #5
0
        public async Task <Movie> GetMovieDetails(int movieID)
        {
            string url = String.Format("{0}{1}{2}?{3}={4}&append_to_response=releases,trailers,poster,casts", BaseAPIUrl, MovieDetailsApiUrl, movieID, AppKeyTag, APIKey);

            //webclient.DownloadStringAsync(new Uri(url, UriKind.Absolute));
            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(url);

            Movie m = JsonConvert.DeserializeObject <Movie>(data);

            return(m);
        }
Example #6
0
        public async Task <Configuration> GetConfig()
        {
            string url = String.Format("{0}{1}?{2}={3}", BaseAPIUrl, ConfigApiUrl, AppKeyTag, APIKey);

            //webclient.DownloadStringAsync(new Uri(url, UriKind.Absolute));
            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(url);

            Configuration r = JsonConvert.DeserializeObject <Configuration>(data);

            return(r);
        }
Example #7
0
        public async Task <Person> GetPersonDetails(int personID)
        {
            string url = String.Format("{0}{1}{2}?{3}={4}&append_to_response=credits", BaseAPIUrl, PersonDetailsApiUrl, personID, AppKeyTag, APIKey);

            //webclient.DownloadStringAsync(new Uri(url, UriKind.Absolute));
            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(url);

            Person p = JsonConvert.DeserializeObject <Person>(data);

            return(p);
        }
        public async Task <string> GetVideoId(string title)
        {
            string queryUrl = String.Format(youtubeUri, title);

            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(queryUrl);

            VideoSearchResults v = JsonConvert.DeserializeObject <VideoSearchResults>(data);

            if (v != null && v.Data != null && v.Data.Items != null && v.Data.Items.Count > 0)
            {
                return(v.Data.Items[0].Id);
            }

            return(null);
        }
Example #9
0
        public async Task <Performances> GetPerformances(RegionDef region, int cinema, int film, string date)
        {
            string url = $"{BaseAPIUrl}{PerformancesHandle}?{QSKeyParam}={DevKey}&{QSCinemaParam}={cinema}&{QSFilmParam}={film}&{QSDateParam}={date}&{QSTerritoryParam}={region}";

            //webclient.DownloadStringAsync(new Uri(url, UriKind.Absolute));
            AsyncWebClient awc  = new AsyncWebClient();
            string         data = await awc.GetStringAsync(url);

            DateTime dt = DateTime.ParseExact(date, "yyyymmdd", CultureInfo.InvariantCulture);

            Performances p = JsonConvert.DeserializeObject <Performances>(data);

            p.Date = dt;

            return(p);
        }
Example #10
0
        public async Task <Results> GetSearchResults(string title, DateTime dtRelease)
        {
            string url = null;

            DateTime release = dtRelease;

            bool    bTryEarlier = false;
            bool    bSecondTry  = false;
            Results r           = null;

            while (true)
            {
                if (dtRelease != DateTime.MinValue)
                {
                    url = String.Format("{0}{1}?{2}={3}&{4}={5}&{6}={7}", BaseAPIUrl, SearchMovieApiUrl, AppKeyTag, APIKey, QueryTag, title, YearTag, release.Year);
                    if (!bSecondTry)
                    {
                        bTryEarlier = true;
                    }
                }
                else
                {
                    url = String.Format("{0}{1}?{2}={3}&{4}={5}", BaseAPIUrl, SearchMovieApiUrl, AppKeyTag, APIKey, QueryTag, title);
                }

                //webclient.DownloadStringAsync(new Uri(url, UriKind.Absolute));
                AsyncWebClient awc  = new AsyncWebClient();
                string         data = await awc.GetStringAsync(url);

                r = JsonConvert.DeserializeObject <Results>(data);

                if (bTryEarlier && dtRelease != DateTime.MinValue && (r.SearchResults == null || r.SearchResults.Count == 0))
                {
                    release     = dtRelease.AddYears(-1);
                    bSecondTry  = true;
                    bTryEarlier = false;
                }
                else
                {
                    break;
                }
            }

            return(r);
        }
Example #11
0
        public DateTime GetReleaseDate()
        {
            if (String.IsNullOrEmpty(this.film_url))
            {
                return(DateTime.MinValue);
            }

            string url = this.film_url.Replace("cineworld.co.uk/", "cineworld.co.uk/mobile/");

            string day   = null;
            string month = null;
            string year  = null;

            AsyncWebClient awc = new AsyncWebClient();

            string htmlData = null;

            while (true)
            {
                try
                {
                    Task <string> tFilmData = awc.GetStringAsync(url);

                    tFilmData.Wait();

                    if (!tFilmData.IsCanceled && tFilmData.Result != null)
                    {
                        htmlData = tFilmData.Result;
                        break;
                    }
                }
                catch { }
            }

            if (htmlData != null)
            {
                using (StringReader sr = new StringReader(htmlData.ToLower()))
                {
                    string line = null;

                    while ((line = sr.ReadLine()) != null)
                    {
                        if (line.IndexOf("release date") > -1)
                        {
                            char[]   aSplit       = { ' ' };
                            string   strippedData = Regex.Replace(line, @"<(.|\n)*?>", string.Empty);
                            string[] parts        = strippedData.Split(aSplit, StringSplitOptions.RemoveEmptyEntries);

                            if (parts.Length < 5)
                            {
                                return(DateTime.MinValue);
                            }

                            day   = parts[parts.Length - 3];
                            month = parts[parts.Length - 2];
                            year  = parts[parts.Length - 1];
                            break;
                        }
                    }
                }
            }

            return(year == null ? DateTime.MinValue : DateTime.Parse(string.Format("{0} {1} {2}", day, month, year)));
        }