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); }
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); }
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); }
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); }