public CinemaController(ISGNMovies sgnMovies)
 {
     _sgnMovies = sgnMovies;
 }
Exemplo n.º 2
0
        //public IEnumerable<Movie> LoadNowShowingMovies()
        //{
        //    return GetMoviesFromStream(WebConnection.GetUrl(BaseUrl + "/index/vi/movie?type=1", null), true);
        //}
        //public IEnumerable<Movie> LoadComingSoonMovies()
        //{
        //    return GetMoviesFromStream(WebConnection.GetUrl(BaseUrl + "/index/vi/movie?type=2", null), false);
        //}
        public IEnumerable<SessionTime> LoadSessionTimes(ISGNMovies sgnMovies)
        {
            List<SessionTime> sessions = new List<SessionTime>();
            var cinema_Ids = from p in sgnMovies.Providers
                             join pc in sgnMovies.ProviderCinemas on p.Id equals pc.Provider_Id
                             where (p.Name == "Galaxy")
                             select pc;
            var cinemas = from pc in cinema_Ids
                          join c in sgnMovies.Cinemas on pc.Cinema_Id equals c.Id
                          select new { c, pc };

            foreach (var cinema in cinemas)
            {
                string content = string.Format(GALAXY_POST_MOVIE_CONTENT, cinema.c.CinemaWebId, TOKEN_KEY);
                Stream s = WebConnection.PostUrl(GALAXY_SEARCH_LINK, null, content);
                string[] WebIds = LoadMovieWebIdCollection(s).Split('~');
                IEnumerable<Movie> movies = LoadMoviesFromWebIds(sgnMovies.Movies, WebIds);
                foreach (Movie movie in movies)
                {
                    content = string.Format(GALAXY_POST_SESSION_CONTENT, cinema.c.CinemaWebId, movie.MovieWebId, TOKEN_KEY);
                    s = WebConnection.PostUrl(GALAXY_SEARCH_LINK, null, content);
                    IEnumerable<ShowingDateModel> dates = LoadDateTimeFromCinemaMovie(s);
                    foreach (ShowingDateModel dateTime in dates)
                    {
                        sessions.AddRange(dateTime.ShowingTimes.Select(time => new SessionTime
                                       {
                                           ProviderCinema_Id = cinema.pc.Id,
                                           Movie_Id = movie.Id,
                                           Date = dateTime.ShowingDate,
                                           Time = time.DateTime
                                       }));
                    }
                }
            }
            return sessions;
        }
 public MovieController(ISGNMovies sgnMovies)
 {
     _sgnMovies = sgnMovies;
 }
 public SessionController(ISGNMovies sgnMovies)
 {
     _sgnMovies = sgnMovies;
 }
 public IEnumerable<SessionTime> LoadSessionTimes(ISGNMovies sgnMovies)
 {
     IEnumerable<Cinema> cinemas = sgnMovies.Cinemas.Where(c => Int32.Parse(c.CinemaWebId) > 1000);
     foreach (var cinema in cinemas)
     {
         Stream s = WebConnection.GetUrl(string.Format(CINEMA_TO_FILM, cinema.CinemaWebId), null);
         IEnumerable<Movie> tmp = GetMoviesFromCinema(s);
         IEnumerable<Movie> movies = LoadMoviesFromVars(sgnMovies.Movies, tmp);
         foreach (var movie in movies)
         {
             s = WebConnection.GetUrl(string.Format(CINEME_FILM_TO_SESSIONTIME, cinema.CinemaWebId, movie.MovieWebId), null);
             IEnumerable<ShowingDateModel> dates = LoadDateTimeFromCinemaMovie(s);
             if (dates != null)
             {
                 foreach (ShowingDateModel date in dates)
                 {
                     foreach (ShowingTimeModel time in date.ShowingTimes)
                     {
                         yield return new SessionTime
                         {
                             //Cinema = cinema,
                             //Movie = movie,
                             Date = date.ShowingDate,
                             Time = time.DateTime
                         };
                     }
                 }
             }
         }
     }
 }