示例#1
0
        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;
            }
        }
示例#2
0
        /// <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)));
        }