コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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));
            }
        }