/// <summary>
        /// 初始化数据
        /// </summary>
        /// <returns></returns>
        public async Task LoadData()
        {
            if (MovieItems.Count == 0)
            {
                MovieItems.Clear();
                var data = await TimeAPIService.GetComingMovies();

                if (data.Count == 0)
                {
                    return;
                }
                foreach (var movie in data)
                {
                    // 只添加具有封面的电影
                    if (movie.Image != "")
                    {
                        MovieItems.Add(movie);
                    }
                }
                // 刷新页面
                RaisePropertyChanged("EmptyItem");
                // 添加磁贴
                string title = ResourceLoader.GetForCurrentView().GetString("ComingMoviePage_TextTitle/Text");
                string date  = ResourceLoader.GetForCurrentView().GetString("MovieDetailPage_TextDateHelp/Text");
                string look  = ResourceLoader.GetForCurrentView().GetString("ComingMovieViewModel_Look/Text");
                Singleton <LiveTileService> .Instance.AddTileToQueue(title, string.Empty, date, MovieItems[0].Date, look, MovieItems[0]);
            }
        }
Example #2
0
        /// <summary>
        /// Main Constructor
        /// </summary>
        public MainWindowViewModel(Window window)
        {
            mWindow = window;

            tmdbFunction();

            // Window Buttons Commands
            CloseCommand    = new RelayCommand(() => mWindow.Close());
            MinimizeCommand = new RelayCommand(() => mWindow.WindowState = WindowState.Minimized);
            MaximizeCommand = new RelayCommand(() => mWindow.WindowState ^= WindowState.Maximized);

            MovieItems.Add(new MoviesModel("tt4154796"));
            MovieItems.Add(new MoviesModel("tt1477834"));
            MovieItems.Add(new MoviesModel("tt10985510"));
            MovieItems.Add(new MoviesModel("tt0448115"));
            MovieItems.Add(new MoviesModel("tt2494376"));
        }
        /// <summary>
        /// Load page and add it to MovieItem list
        /// </summary>
        /// <param name="page"></param>
        /// <returns></returns>
        public async Task LoadPage(int page)
        {
            IsLoading = true;
            var items = await _dataService.GetItemsAtAsync(page);

            if (items.Count == 0)
            {
                // tell user user?
            }

            foreach (var item in items)
            {
                MovieItems.Add(item.ToMovieItemViewModel());
            }

            _loadedPages = page;
            IsLoading    = false;
        }
Example #4
0
        private void SearchButton_Click(object sender, RoutedEventArgs e)
        {
            if (myContact.Items.Count != 0)
            {
                myContact.Items.Clear();
            }
            string search_name = Movie_searchName.Text;

            string query = search_name;                                                // 검색할 문자열
            string url   = "https://openapi.naver.com/v1/search/movie?query=" + query; // 결과가 JSON 포맷

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.Method = "GET";
            request.Headers.Add("X-Naver-Client-Id", "Sz1m6GDnrPLbr52KCvhR"); // 클라이언트 아이디
            request.Headers.Add("X-Naver-Client-Secret", "nsraifwQXD");       // 클라이언트 시크릿
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string          status   = response.StatusCode.ToString();

            if (status == "OK")
            {
                Stream       stream = response.GetResponseStream();
                StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                string       text   = reader.ReadToEnd();

                MovieItems ex = (JsonConvert.DeserializeObject <MovieItems>(text));


                if (ex.items.Count >= 1) // 만약 입력값이 있을 시
                {
                    int repeatNum;
                    if (ex.items.Count >= 10) // 영화 검색출력값이 10개 이상인 경우
                    {
                        repeatNum = 10;       // 10개만 출력
                    }
                    else
                    {
                        repeatNum = ex.items.Count; // 10개 이하인 경우 개수만큼 출력
                    }

                    for (int i = 0; i < repeatNum; i++)
                    {
                        MovieInfo movInfo = new MovieInfo();
                        Movies[i] = new SearchMovieControl();
                        string title = ex.items[i].title.Replace("<b>", "");
                        title         = title.Replace("</b>", "");
                        movInfo.Title = title;

                        string pubDate = ex.items[i].pubDate;
                        movInfo.OpeningData = pubDate;

                        string subtitle = ex.items[i].subtitle.Replace("<b>", "");
                        subtitle         = subtitle.Replace("</b>", "");
                        movInfo.SubTitle = subtitle;

                        string directorName = ex.items[i].director;
                        movInfo.DirectorName = directorName;

                        string actorName = ex.items[i].actor;
                        movInfo.ActorName = actorName;

                        string imageUri = ex.items[i].image;
                        movInfo.imageUri = imageUri;

                        Movies[i].movinfo = movInfo;
                        myContact.Items.Add(Movies[i]);
                    }

                    myContact.ScrollIntoView(myContact.Items[0]); // 맨위로 스크롤 옮긴다
                }
            }
        }