コード例 #1
0
        private static void ImportTitles(string filepath, MovieRepository repo)
        {
            var reader = File.OpenText(filepath + "movie_titles.csv");

            repo.DeleteGenres();
            //repo.DeleteAll();

            var titlesimported = 0;

            int testlimit = 0;

            while (!reader.EndOfStream && testlimit < Int32.MaxValue)
            {
                string line = reader.ReadLine();

                var items = line.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                int year, id;

                if (Int32.TryParse(items[0], out id) && Int32.TryParse(items[1], out year) && !string.IsNullOrEmpty(items[2]))
                {
                    Movie m = new Movie()
                    {
                        Id    = Int32.Parse(items[0]),
                        Year  = Int32.Parse(items[1]),
                        Title = items[2]
                    };

                    OMDBItem o = repo.GetOMDBData(m.Title);

                    if (o != null && o.imdbID != null)
                    {
                        m.IMDBId    = o.imdbID;
                        m.PosterUrl = "http://img.omdbapi.com/?i=" + m.IMDBId + "&h=200&apikey=7e6ca2d5";

                        repo.DeleteById(m);
                        repo.Add(m);

                        repo.AddGenresForMovie(m.Id, o.Genre);
                        titlesimported++;
                    }



                    testlimit++;
                }
            }

            Console.WriteLine(titlesimported + " titles imported");
        }