public TVSeason PopulateSeasonFromJson(string seasonData) { TVSeason mySeason = new TVSeason(); JObject seasonJObject = JObject.Parse(seasonData); mySeason.AirDate = "" + seasonJObject["air_date"]; mySeason.TVDBID = "" + seasonJObject["id"]; mySeason.Overview = "" + seasonJObject["overview"]; mySeason.PosterPath = "" + seasonJObject["poster_path"]; mySeason.SeasonNumber = (int)seasonJObject["season_number"]; JArray myEpisodeArray = (JArray)seasonJObject.SelectToken("episodes"); mySeason.EpisodeCount = myEpisodeArray.Count; mySeason.Episodes = new List<TVEpisode>(); foreach (JToken episodeJToken in myEpisodeArray) { TVEpisode myEpisode = new TVEpisode { EpisodeNumber = (int)episodeJToken["episode_number"], SeasonNumber = mySeason.SeasonNumber, Name = "" + episodeJToken["name"], AirDate = "" + episodeJToken["air_date"], StillPath = "" + episodeJToken["still_path"], Overview = "" + episodeJToken["overview"] }; mySeason.Episodes.Add(myEpisode); } return mySeason; }
public override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); string episodeSerialized = Arguments.GetString("episodeSerialized"); _episode = new TVEpisode(); _episode = JsonConvert.DeserializeObject<TVEpisode>(episodeSerialized); }
public override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); if (Arguments != null) { _myEpisode = new TVEpisode(); _myEpisode = JsonConvert.DeserializeObject<TVEpisode>(Arguments.GetString("myEpisode")); } }
public static NextEpisodeFragment NewInstance(TVEpisode episode) { NextEpisodeFragment frag = new NextEpisodeFragment(); Bundle args = new Bundle(); string serializeObject = JsonConvert.SerializeObject(episode); args.PutString("myEpisode", serializeObject); frag.Arguments = args; return frag; }
public static DetailsShowEpisodeTabsPageFragment NewInstance(TVEpisode episode) { DetailsShowEpisodeTabsPageFragment frag = new DetailsShowEpisodeTabsPageFragment(); string myEpisodeJson = JsonConvert.SerializeObject(episode); Bundle args = new Bundle(); args.PutString("episodeSerialized", myEpisodeJson); frag.Arguments = args; return frag; }
public override Android.Views.View OnCreateView(Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Bundle savedInstanceState) { if (savedInstanceState != null) { _episode = new TVEpisode(); _episode = JsonConvert.DeserializeObject<TVEpisode>(savedInstanceState.GetString("episodeSerialized")); } var root = inflater.Inflate(Resource.Layout.details_show_episode_tabs_page_fragment, container, false); var text = root.FindViewById<TextView>(Resource.Id.textView); var imageView = root.FindViewById<ImageView>(Resource.Id.myImageView); if (_episode != null) { text.Text = "With episode title " + _episode.Name + "\n"+ " and episode number "+ _episode.EpisodeNumber+"\n"+ "Overview:" + _episode.Overview; Koush.UrlImageViewHelper.SetUrlDrawable(imageView, "http://image.tmdb.org/t/p/w500" + _episode.StillPath); } _ivIsEpisodeWatched = root.FindViewById<ImageView>(Resource.Id.myCheckImage); UpdateCheckMarks(); _ivIsEpisodeWatched.Click += (sender, args) => { ((ShowOverviewActivity)Activity).UpdateTitle("I clicked on season/episode "+_episode.SeasonNumber + " " +_episode.EpisodeNumber); if (_episode.isEpisodeTrakked) { _ivIsEpisodeWatched.SetImageResource(Resource.Drawable.btn_check_buttonless_off); //var saveEpisode = // DeleteParseTVEpsidodeObject(_myShow.GetTVSeasonByNumber(_seasonNumber).Episodes[_positionInEpisodeList]); } else { _ivIsEpisodeWatched.SetImageResource(Resource.Drawable.btn_check_buttonless_on); ////var saveEpisode = //// SaveParseTVEpisodeObject(_myShow.GetTVSeasonByNumber(_seasonNumber).Episodes[_positionInEpisodeList]); } }; return root; }
private async Task PopulateSeasonsAndSetUpFragments() { if (!TMDBFileLoading.TMDBShowFileExists(Intent.GetStringExtra("TMDBID"))) { string myURL = "https://api.themoviedb.org/3/tv/" + Intent.GetStringExtra("TMDBID") + "?api_key=661b76973b90b91e0df214904015fd4d"; var client = new HttpClient(); var data = await client.GetStringAsync(myURL); JObject o = JObject.Parse(data); _myShow.Name = o["name"] + ""; _myShow.Network = o["networks"][0]["name"] + ""; _myShow.NumberOfSeasons = (int) o["number_of_seasons"]; _myShow.TMDBID = o["id"] + ""; //_myShow.FullJson = data; _myShow.PosterLink = o["poster_path"] + ""; _myShow.Overview = o["overview"] + ""; _myShow.Language = o["languages"][0] + ""; //SupportActionBar._title = _myShow.Name; //await _myShow.PopulateSeasonJSONListFromWeb(); //_myTextView.Text = _myShow.Name + " is on " + _myShow.Network; //SetUpListViewFragment(); _myShow.Seasons = new List<TVSeason>(); for (int i = 1; i <= _myShow.NumberOfSeasons; i++) { TVSeason mySeason = new TVSeason(); string mySeasonURL = "https://api.themoviedb.org/3/tv/" + Intent.GetStringExtra("TMDBID") + "/season/" + i + "?api_key=661b76973b90b91e0df214904015fd4d"; var seasonClient = new HttpClient(); var seasonData = await seasonClient.GetStringAsync(mySeasonURL); JObject seasonJObject = JObject.Parse(seasonData); mySeason.AirDate = "" + seasonJObject["air_date"]; mySeason.TVDBID = "" + seasonJObject["id"]; mySeason.Overview = "" + seasonJObject["overview"]; mySeason.PosterPath = "" + seasonJObject["poster_path"]; mySeason.SeasonNumber = (int) seasonJObject["season_number"]; JArray myEpisodeArray = (JArray) seasonJObject.SelectToken("episodes"); mySeason.EpisodeCount = myEpisodeArray.Count; mySeason.Episodes = new List<TVEpisode>(); foreach (JToken episodeJToken in myEpisodeArray) { TVEpisode myEpisode = new TVEpisode { EpisodeNumber = (int) episodeJToken["episode_number"], SeasonNumber = i, Name = "" + episodeJToken["name"], AirDate = "" + episodeJToken["air_date"], StillPath = "" + episodeJToken["still_path"], Overview = "" + episodeJToken["overview"] }; mySeason.Episodes.Add(myEpisode); } _myShow.Seasons.Add(mySeason); } string showToSave = JsonConvert.SerializeObject(_myShow); TMDBFileSaving.saveTMDBShowJSON(Intent.GetStringExtra("TMDBID"), showToSave); } else { Console.WriteLine("Show has been saved"); string loadedShow = TMDBFileLoading.loadTMDBShowJSONFromFile(Intent.GetStringExtra("TMDBID")); _myShow = JsonConvert.DeserializeObject<TVShow>(loadedShow); } //string serialized = JsonConvert.SerializeObject(_myShow); //Console.UpdateTrakkedShowList(serialized); //_myShow = new TVShow(); //_myShow = JsonConvert.DeserializeObject<TVShow>(serialized); //Console.UpdateTrakkedShowList(JsonConvert.SerializeObject(_myShow)); // Console.UpdateTrakkedShowList("Last Episode of First Season is titled " + // _myShow.SeasonList[0].TVEpisodes[_myShow.SeasonList[0].TVEpisodes.Count - 1].Name); SetUpTitle(); SetUpBothFragments(); GetUpdatedParseObject(); //IEnumerable<TVEpisodeForParse> trakkedEpisodeList = await GetParseEpisodeObject(); //UpdateShowEpisodesWithTrakkedEpisode(trakkedEpisodeList); }
private async void PopulateSeasons() { string myURL = "https://api.themoviedb.org/3/tv/1396?api_key=661b76973b90b91e0df214904015fd4d"; var client = new HttpClient(); var data = await client.GetStringAsync(myURL); JObject o = JObject.Parse(data); _myShow.Name = o["name"] + ""; _myShow.Network = o["networks"][0]["name"] + ""; _myShow.NumberOfSeasons = (int)o["number_of_seasons"]; _myShow.TMDBID = o["id"] + ""; //_myShow.FullJson = data; _myShow.PosterLink = o["poster_path"] + ""; _myShow.Overview = o["overview"] + ""; _myShow.Language = o["languages"][0] + ""; // SupportActionBar._title = _myShow.Name; //await _myShow.PopulateSeasonJSONListFromWeb(); //_myTextView.Text = _myShow.Name + " is on " + _myShow.Network; //SetUpListViewFragmnet(); _myShow.Seasons = new List<TVSeason>(); for (int i = 1; i <= _myShow.NumberOfSeasons; i++) { TVSeason mySeason = new TVSeason(); string mySeasonURL = "https://api.themoviedb.org/3/tv/1396/season/"+i+"?api_key=661b76973b90b91e0df214904015fd4d"; var seasonClient = new HttpClient(); var seasonData = await seasonClient.GetStringAsync(mySeasonURL); JObject seasonJObject = JObject.Parse(seasonData); mySeason.AirDate = "" + seasonJObject["air_date"]; mySeason.TVDBID = "" + seasonJObject["id"]; mySeason.Overview = "" + seasonJObject["overview"]; mySeason.PosterPath = "" + seasonJObject["poster_path"]; mySeason.SeasonNumber = (int)seasonJObject["season_number"]; JArray myEpisodeArray = (JArray)seasonJObject.SelectToken("episodes"); mySeason.EpisodeCount = myEpisodeArray.Count; mySeason.Episodes = new List<TVEpisode>(); for (int j = 0; j < myEpisodeArray.Count; j++) { JToken episodeJToken = myEpisodeArray[j]; TVEpisode myEpisode = new TVEpisode(); myEpisode.EpisodeNumber = (int)episodeJToken["episode_number"]; myEpisode.Name = "" + episodeJToken["name"]; mySeason.Episodes.Add(myEpisode); } _myShow.Seasons.Add(mySeason); } string serialized = JsonConvert.SerializeObject(_myShow); Console.WriteLine(serialized); _myShow = new TVShow(); _myShow = JsonConvert.DeserializeObject<TVShow>(serialized); Console.WriteLine(JsonConvert.SerializeObject(_myShow)); // Console.UpdateTrakkedShowList("Last Episode of First Season is titled " + // _myShow.SeasonList[0].TVEpisodes[_myShow.SeasonList[0].TVEpisodes.Count - 1].Name); }
public static async Task<TVShow> DownloadTVShowAndSave(string tmdbID) { var show = new TVShow(); var myURL = "https://api.themoviedb.org/3/tv/" + tmdbID + "?api_key=661b76973b90b91e0df214904015fd4d"; var client = new HttpClient(); var data = await client.GetStringAsync(myURL); var o = JObject.Parse(data); show.Name = o["name"] + ""; show.Network = o["networks"][0]["name"] + ""; show.NumberOfSeasons = (int) o["number_of_seasons"]; var mySeasonArray = (JArray) o.SelectToken("seasons"); var elementsInSeasons = mySeasonArray.Count; var hasSeasonZero = mySeasonArray.Count > show.NumberOfSeasons; show.TMDBID = o["id"] + ""; show.PosterLink = o["poster_path"] + ""; show.Overview = o["overview"] + ""; show.Language = o["languages"][0] + ""; show.Seasons = new List<TVSeason>(); var endAtSeason = hasSeasonZero ? 0 : 1; for (var i = show.NumberOfSeasons; i >= endAtSeason; i--) { var mySeason = new TVSeason(); var mySeasonURL = "https://api.themoviedb.org/3/tv/" + tmdbID + "/season/" + i + "?api_key=661b76973b90b91e0df214904015fd4d"; var seasonClient = new HttpClient(); try { var seasonData = await seasonClient.GetStringAsync(mySeasonURL); var seasonJObject = JObject.Parse(seasonData); mySeason.AirDate = "" + seasonJObject["air_date"]; mySeason.TVDBID = "" + seasonJObject["id"]; mySeason.Overview = "" + seasonJObject["overview"]; mySeason.PosterPath = "" + seasonJObject["poster_path"]; mySeason.SeasonNumber = (int) seasonJObject["season_number"]; var myEpisodeArray = (JArray) seasonJObject.SelectToken("episodes"); mySeason.EpisodeCount = myEpisodeArray.Count; mySeason.Episodes = new List<TVEpisode>(); foreach (var episodeJToken in myEpisodeArray) { var myEpisode = new TVEpisode { EpisodeNumber = (int) episodeJToken["episode_number"], SeasonNumber = i, Name = "" + episodeJToken["name"], AirDate = "" + episodeJToken["air_date"], StillPath = "" + episodeJToken["still_path"], Overview = "" + episodeJToken["overview"] }; mySeason.Episodes.Add(myEpisode); } show.Seasons.Add(mySeason); } catch (Exception ex) { //Takes care of 404, need to confirm Console.WriteLine("I caught this" + ex); } } var creditsURL = "https://api.themoviedb.org/3/tv/" + tmdbID + "/credits?api_key=661b76973b90b91e0df214904015fd4d"; var creditClient = new HttpClient(); var creditData = await creditClient.GetStringAsync(creditsURL); var creditJObject = JObject.Parse(creditData); show.Actors = new List<Actor>(); var myActorArray = (JArray) creditJObject.SelectToken("cast"); foreach (var actorJToken in myActorArray) { var actor = new Actor { characterName = "" + actorJToken["character"], creditId = "" + actorJToken["credit_id"], tmdbID = "" + actorJToken["id"], name = "" + actorJToken["name"], profilePath = "" + actorJToken["profile_path"], order = (int) actorJToken["order"] }; show.Actors.Add(actor); } string showToSave = JsonConvert.SerializeObject(show); TMDBFileSaving.saveTMDBShowJSON(show.TMDBID, showToSave); return show; }
public void UpdateWatchedEpisode(TVEpisode episode) { _myShow.GetTVSeasonByNumber(episode.SeasonNumber) .GetTVEpisodeByNumber(episode.EpisodeNumber).isEpisodeTrakked = true; //TODO need to restucture this //_myShow.GetTVSeasonByNumber(episode.SeasonNumber) // .GetTVEpisodeByNumber(episode.EpisodeNumber) //.isEpisodeTrakked = true; if (_stateMemory._isPortait && !_stateMemory._isAfterAnimation) { _showTabHolderFragment.UpdateWatchedEpisode(_myShow); } else { //TODO Validate is visible _nextUnwatchedEpisodeFragment.UpdateEpisode(_myShow.GetNextUnwatchedEpisode()); //TODO Validate is visible _seasonListFragment.UpdateShow(_myShow); } }
public void GetLatestEpisode() { _myEpisode = ((ShowOverviewActivity) Activity).RetreiveLatestShow().GetNextUnwatchedEpisode(); }
public void UpdateEpisode(TVEpisode episode) { _myEpisode = episode; SetUpTextView(); SetUpImageView(); }
public void UpdateWatchedEpisode(TVEpisode episode) { _showsOverviewMajorFragment.UpdateWatchedEpisode(episode); }
public void UpdateShow(TVEpisode episode) { _episode = episode; UpdateCheckMarks(); }
public DetailsShowEpisodeTabsPageFragment() { _episode = new TVEpisode(); }