Exemplo n.º 1
0
        private async Task <T> GetMovieMethod <T>(int movieId, MovieMethods movieMethod, string dateFormat = null,
                                                  string country = null, string language = null, int page = 0, DateTime?startDate = null, DateTime?endDate = null,
                                                  IEnumerable <KeyValuePair <string, string> > customParameters = null) where T : new()
        {
            RestRequest request = new RestRequest("movie/{movieId}/{method}");

            request.AddUrlSegment("movieId", movieId.ToString(CultureInfo.InvariantCulture));
            request.AddUrlSegment("method", movieMethod.GetDescription());

            if (dateFormat != null)
            {
                request.DateFormat = dateFormat;
            }

            if (country != null)
            {
                request.AddParameter("country", country);
            }
            language = language ?? DefaultLanguage;
            if (!String.IsNullOrWhiteSpace(language))
            {
                request.AddParameter("language", language);
            }

            if (page >= 1)
            {
                request.AddParameter("page", page);
            }
            if (startDate.HasValue)
            {
                request.AddParameter("start_date", startDate.Value.ToString("yyyy-MM-dd"));
            }
            if (endDate != null)
            {
                request.AddParameter("end_date", endDate.Value.ToString("yyyy-MM-dd"));
            }

            // add custom args
            if (customParameters != null)
            {
                foreach (var p in customParameters)
                {
                    request.AddParameter(p.Key, p.Value);
                }
            }

            IRestResponse <T> response = await _client.ExecuteGetTaskAsync <T>(request).ConfigureAwait(false);

            return(response.Data);
        }
Exemplo n.º 2
0
        private async Task <T> GetMovieMethodInternal <T>(int movieId, MovieMethods movieMethod, string dateFormat = null,
                                                          string country  = null,
                                                          string language = null, string includeImageLanguage = null, int page = 0, DateTime?startDate = null, DateTime?endDate = null, CancellationToken cancellationToken = default) where T : new()
        {
            RestRequest req = _client.Create("movie/{movieId}/{method}");

            req.AddUrlSegment("movieId", movieId.ToString(CultureInfo.InvariantCulture));
            req.AddUrlSegment("method", movieMethod.GetDescription());

            if (country != null)
            {
                req.AddParameter("country", country);
            }

            language ??= DefaultLanguage;
            if (!string.IsNullOrWhiteSpace(language))
            {
                req.AddParameter("language", language);
            }

            if (!string.IsNullOrWhiteSpace(includeImageLanguage))
            {
                req.AddParameter("include_image_language", includeImageLanguage);
            }

            if (page >= 1)
            {
                req.AddParameter("page", page.ToString());
            }
            if (startDate.HasValue)
            {
                req.AddParameter("start_date", startDate.Value.ToString("yyyy-MM-dd"));
            }
            if (endDate != null)
            {
                req.AddParameter("end_date", endDate.Value.ToString("yyyy-MM-dd"));
            }

            T response = await req.GetOfT <T>(cancellationToken).ConfigureAwait(false);

            return(response);
        }
Exemplo n.º 3
0
        private T GetMovieMethod <T>(int movieId, MovieMethods movieMethod, string dateFormat = null,
                                     string country  = null,
                                     string language = null, int page = 0, DateTime?startDate = null, DateTime?endDate = null) where T : new()
        {
            RestRequest request = new RestRequest("movie/{movieId}/{method}");

            request.AddUrlSegment("movieId", movieId.ToString(CultureInfo.InvariantCulture));
            request.AddUrlSegment("method", movieMethod.GetDescription());

            if (dateFormat != null)
            {
                request.DateFormat = dateFormat;
            }

            if (country != null)
            {
                request.AddParameter("country", country);
            }
            language = language ?? DefaultLanguage;
            if (!String.IsNullOrWhiteSpace(language))
            {
                request.AddParameter("language", language);
            }

            if (page >= 1)
            {
                request.AddParameter("page", page);
            }
            if (startDate.HasValue)
            {
                request.AddParameter("start_date", startDate.Value.ToString("yyyy-MM-dd"));
            }
            if (endDate != null)
            {
                request.AddParameter("end_date", endDate.Value.ToString("yyyy-MM-dd"));
            }

            IRestResponse <T> response = _client.Get <T>(request);

            return(response.Data);
        }
Exemplo n.º 4
0
        private T GetMovieMethod <T>(int movieId, MovieMethods movieMethod, string dateFormat = null, string country = null,
                                     string language = null, int page = 0, DateTime?startDate = null, DateTime?endDate = null) where T : new()
        {
            var req = new RestRequest("movie/{movieId}/{method}");

            req.AddUrlSegment("movieId", movieId.ToString());
            req.AddUrlSegment("method", movieMethod.GetDescription());

            if (dateFormat != null)
            {
                req.DateFormat = dateFormat;
            }

            if (country != null)
            {
                req.AddParameter("country", country);
            }
            if (language != null)
            {
                req.AddParameter("language", language);
            }

            if (page >= 1)
            {
                req.AddParameter("page", page);
            }
            if (startDate.HasValue)
            {
                req.AddParameter("start_date", startDate.Value.ToString("yyyy-MM-dd"));
            }
            if (endDate != null)
            {
                req.AddParameter("end_date", endDate.Value.ToString("yyyy-MM-dd"));
            }

            IRestResponse <T> resp = _client.Get <T>(req);

            return(resp.Data);
        }