internal static void Save(Serie s) { using (MySqlConnection con = Database.GetConnection()) { ITvDbClient client = new TvDbClient(); client.AcceptedLanguage = "es"; var task = client.Authentication.AuthenticateAsync(Secrets.apiKey); task.Wait(); var task2 = client.Series.GetAsync(s.IdSerie); task2.Wait(); var result = task2.Result; s.SeriesName = result.Data.SeriesName; s.SeriesPhoto = result.Data.Poster; con.Open(); MySqlCommand command = con.CreateCommand(); command.CommandText = "insert into series(idSerie, seriesName, seriesPhoto) values" + "(@idSerie, @seriesName, @seriesPhoto)"; command.Parameters.AddWithValue("idSerie", s.IdSerie); command.Parameters.AddWithValue("seriesName", s.SeriesName); command.Parameters.AddWithValue("seriesPhoto", s.SeriesPhoto); Debug.WriteLine("comando" + command.CommandText); command.ExecuteNonQuery(); int numPagina = 1; int numReturned; do { var task3 = client.Series.GetEpisodesAsync(s.IdSerie, numPagina); task3.Wait(); var episodes = task3.Result; numReturned = episodes.Data.Length; foreach (var e in episodes.Data) { if (e.AiredEpisodeNumber != 0 && e.AiredSeason != 0) { CapituloRepository.Save(new Capitulo(e.Id, e.SeriesId, e.AiredEpisodeNumber, e.AiredSeason, e.EpisodeName)); } } numPagina++; } while (numReturned == 100); } }
internal static int GetNextEpisodio(int episodioVisto, int idUsuario) { int nextEpisodio = 0; Capitulo c = CapituloRepository.GetCapituloById(episodioVisto); using (MySqlConnection con = Database.GetConnection()) { con.Open(); MySqlCommand command = con.CreateCommand(); command.CommandText = "select * from usuarioseries where idSerie=@idSerie and idUsuario=@idUsuario"; command.Parameters.AddWithValue("idSerie", c.IdSerie); command.Parameters.AddWithValue("idUsuario", idUsuario); MySqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { nextEpisodio = reader.GetInt32("nextCapitulo"); } } Capitulo cNextEpisodio = null; if (nextEpisodio != 0) { cNextEpisodio = CapituloRepository.GetCapituloById(nextEpisodio); if (c.NumTemporada > cNextEpisodio.NumTemporada) { return(NextEpisodio(c.IdSerie, c.NumCapitulo, c.NumTemporada)); } else if (c.NumTemporada == cNextEpisodio.NumTemporada && c.NumCapitulo >= cNextEpisodio.NumCapitulo) { return(NextEpisodio(c.IdSerie, c.NumCapitulo, c.NumTemporada)); } else { return(cNextEpisodio.IdCapitulo); } } else { return(NextEpisodio(c.IdSerie, c.NumCapitulo, c.NumTemporada)); } }