/// <summary> /// Retrieve details regarding a Volume /// </summary> /// <param name="volumeId">ID of the Volume to retrieve</param> /// <returns>Volume object populated with details of Volume indicated by the passed ID</returns> public CVVolume GetVolumeDetails(int volumeId) { string query = $"{_comicVineAddress}volume/4050-{volumeId}/?api_key={_apiKey}&format=json"; VolumeQuery volumeQuery = Connection.ConnectAndRequestVolumeDetails(query); return(volumeQuery.CvVolume); }
/// <summary> /// Retrieve a list of Issues contained within a Volume /// </summary> /// <param name="volumeId">ID of the Volume for which the list of Issues is to be returned</param> /// <returns>List containing Issue objects for the given Volume ID</returns> public List <Issue> GetIssuesByVolume(int volumeId) { string query = $"{_comicVineAddress}volume/4050-{volumeId}/?api_key={_apiKey}&format=json"; VolumeQuery volumeQuery = Connection.ConnectAndRequestVolumeDetails(query); return(volumeQuery.CvVolume.Issues as List <Issue>); }
/// <summary> /// Connect to the ComicVine API and retrieve the details for a Volume /// </summary> /// <param name="url">URL to the Volume object within the API</param> /// <returns>VolumeQuery object populated with details of Volume</returns> public static VolumeQuery ConnectAndRequestVolumeDetails(string url) { VolumeQuery result = new VolumeQuery(); HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); using WebResponse webResponse = httpWebRequest.GetResponse(); using StreamReader streamReader = new StreamReader(webResponse.GetResponseStream() !); return(JsonConvert.DeserializeObject <VolumeQuery>(Sanitize(streamReader.ReadToEnd()))); }
public IActionResult GetDocuments(VolumeQuery volumeQuery, [FromQuery] int?start = 0, [FromQuery] int?count = 50) { if (!TryGetSession(User, out Session session)) { return(Unauthorized()); } if (volumeQuery == null) { return(BadRequest(Resources.ErrorEmptyRequest)); } VolumeState volumeState = new VolumeState( volumeQuery.VolumeName, volumeQuery.FilterQuery, volumeQuery.SortOrder, volumeQuery.Search ); DocumentsResult docsResult = session.GetDocuments(volumeState, start ?? 0, count ?? 50); return(Ok(docsResult)); }