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