public static void WriteJson(this MinimumAvailability value, Utf8JsonWriter writer) { switch (value) { case MinimumAvailability.Announced: JsonSerializer.Serialize(writer, "announced"); break; case MinimumAvailability.InCinemas: JsonSerializer.Serialize(writer, "inCinemas"); break; case MinimumAvailability.PreDb: JsonSerializer.Serialize(writer, "preDB"); break; case MinimumAvailability.Released: JsonSerializer.Serialize(writer, "released"); break; case MinimumAvailability.Tba: JsonSerializer.Serialize(writer, "tba"); break; } }
/// <summary> /// Adds a new movie to your collection /// </summary> /// <param name="title">Title</param> /// <param name="year">Release year</param> /// <param name="qualityProfileId">Quality profile ID</param> /// <param name="titleSlug">Title slug</param> /// <param name="images">Images array</param> /// <param name="tmdbId">TMDb ID</param> /// <param name="rootFolderPath">Root folder path (Full path will be created by combining the rootFolderPath with the movie title)</param> /// <param name="minimumAvailability">Minimum availability</param> /// <param name="monitored">Is monitored</param> /// <param name="addOptions">Object that contains one boolean property</param> /// <returns></returns> public async Task <Models.Movie> AddMovie(string title, int year, int qualityProfileId, string titleSlug, List <Models.Image> images, int tmdbId, string rootFolderPath, MinimumAvailability minimumAvailability, [Optional] bool monitored, [Optional] AddOptions addOptions) { var dictionary = new Dictionary <string, object> { ["title"] = title, ["year"] = year, ["qualityProfileId"] = qualityProfileId, ["titleSlug"] = titleSlug, ["images"] = images, ["tmdbId"] = tmdbId, ["rootFolderPath"] = rootFolderPath, ["minimumAvailability"] = minimumAvailability.ToString(), ["monitored"] = monitored }; if (addOptions != null) { dictionary.Add("addOptions", addOptions); } var parameter = JsonConvert.SerializeObject(new Dictionary <string, object>(dictionary)); var json = await _radarrClient.ProcessJson("POST", "/movie", parameter); return(await Task.Run(() => JsonConvert.DeserializeObject <Models.Movie>(json, Converter.Settings))); }