コード例 #1
0
ファイル: TvShowClient.cs プロジェクト: saltz/Din
        public async Task <(bool status, int systemId)> AddTvShowAsync(TcRequest tvShow)
        {
            tvShow.RootFolderPath = _config.SaveLocation;
            var client = _httpClientFactory.CreateClient();

            var response = await client.PostAsync(BuildUrl(_config.Url, "series", $"?apikey={_config.Key}"),
                                                  new StringContent(JsonConvert.SerializeObject(tvShow)));

            return(response.StatusCode.Equals(HttpStatusCode.Created),
                   JsonConvert.DeserializeObject <TcTvShow>(await response.Content.ReadAsStringAsync()).SystemId);
        }
コード例 #2
0
ファイル: TvShowService.cs プロジェクト: saltz/Din
        public async Task <ResultDto> AddTvShowAsync(SearchTv tvShow, int id)
        {
            var tmdbClient = new TMDbClient(_tmdbKey);
            var showDate   = Convert.ToDateTime(tvShow.FirstAirDate);

            var seasons = new List <TcRequestSeason>();

            foreach (var s in (await tmdbClient.GetTvShowAsync(tvShow.Id)).Seasons)
            {
                seasons.Add(new TcRequestSeason {
                    SeasonNumber = s.SeasonNumber.ToString(), Monitored = true
                });
            }

            var requestObj = new TcRequest
            {
                TvShowId         = (await tmdbClient.GetTvShowExternalIdsAsync(tvShow.Id)).TvdbId,
                Title            = tvShow.Name,
                QualityProfileId = 0,
                ProfileId        = "6",
                TitleSlug        = GenerateTitleSlug(tvShow.Name, showDate),
                Monitored        = true,
                Seasons          = seasons
            };

            var response = await _tvShowClient.AddTvShowAsync(requestObj);

            if (response.status)
            {
                await LogContentAdditionAsync(tvShow.Name, id, ContentType.TvShow, Convert.ToInt32(requestObj.TvShowId), response.systemId);

                return(GenerateResultDto("Tv Show Added Successfully",
                                         "The Movie has been added 🤩\nYou can track the progress under your account content tab.",
                                         ResultDtoStatus.Successful));
            }
            else
            {
                return(GenerateResultDto("Failed At adding Tv Show",
                                         "Something went wrong 😵\nTry again later!",
                                         ResultDtoStatus.Unsuccessful));
            }
        }