/// <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]); } }
/// <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; }
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]); // 맨위로 스크롤 옮긴다 } } }