private void BtnSearch_Click(object sender, RoutedEventArgs e) { StsResult.Content = string.Empty; if (string.IsNullOrEmpty(TxtMovieName.Text)) { StsResult.Content = "검색할 영화명을 입력 후, 검색 버튼을 눌러주세요."; // Commons.ShowMessageAsync("검색", "검색할 영화명을 입력 후, 검색 버튼을 눌러주세요."); return; } // Commons.ShowMessageAsync("결과", $"{TxtMovieName.Text}"); try { btnFlag = true; ProSearchNaverApi(TxtMovieName.Text); Commons.ShowMessageAsync("검색", "영화 검색 완료!"); } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외 발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } // 즐겨찾기 아님 Commons.IsFavorite = false; }
private void BtnDeleteWatchList_Click(object sender, RoutedEventArgs e) { if (Commons.IsFavorite == false) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 내용이 아니면 삭제할 수 없습니다."); return; } if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("즐겨찾기", "삭제할 즐겨찾기 영화를 선택하세요."); return; } // this.DataContext // 데이터 바인딩에 참여할 때 요소에 대한 데이터 컨텍스트를 가져오거나 설정합니다. foreach (NaverFavoriteMovies item in GrdData.SelectedItems) { using (var ctx = new OpenApiLabEntities()) { var itemDelete = ctx.NaverFavoriteMovies.Find(item.Idx); ctx.Entry(itemDelete).State = System.Data.Entity.EntityState.Deleted; ctx.SaveChanges(); // Commit } } Commons.IsDelete = true; btnFlag = true; // 조회쿼리 다시 BtnViewWatchList_Click(sender, e); }
private void BtnNaverMovie_Click(object sender, RoutedEventArgs e) { if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("네이버 영화", "영화를 선택하세요"); return; } if (GrdData.SelectedItems.Count > 1) { Commons.ShowMessageAsync("네이버 영화", "영화를 하나만 선택하세요"); return; } string linkUrl = ""; // 선택된 영화 네이버 영화 URL 가져오기 if (Commons.IsFavorite) { var item = GrdData.SelectedItem as NaverFavoriteMovies; linkUrl = item.Link; } else { var item = GrdData.SelectedItem as MovieItem; linkUrl = item.Link; } System.Diagnostics.Process.Start(linkUrl); }
private void BtnWatchTrailer_Click(object sender, RoutedEventArgs e) { if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("유튜브", "영화를 선택하세요."); return; } if (GrdData.SelectedItems.Count > 1) { Commons.ShowMessageAsync("유튜브", "영화를 1개만 선택하세요."); return; } //선택된 영화의 유튜브 예고편 URL 가져오기 string movieName = ""; if (Commons.IsFavorite) { var item = GrdData.SelectedItem as NaverFavoriteMovies; //MessageBox.Show(item.Link); movieName = item.Title; } else { var item = GrdData.SelectedItem as MovieItem; //MessageBox.Show(item.Link); movieName = item.Title; } var trailerWindow = new TrailerWindow(movieName); trailerWindow.Owner = this; trailerWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner; trailerWindow.ShowDialog(); }
private void BtnNaverMovieLink_Click(object sender, RoutedEventArgs e) { if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("네이버 영화", "영화를 선택하세요."); return; } if (GrdData.SelectedItems.Count > 1) { Commons.ShowMessageAsync("네이버 영화", "영화를 1개만 선택하세요."); return; } //선택된 영화의 네이버영화 URL 가져오기 string linkUrl = ""; if (Commons.IsFavorite) { var item = GrdData.SelectedItem as NaverFavoriteMovies; //MessageBox.Show(item.Link); linkUrl = item.Link; } else { var item = GrdData.SelectedItem as MovieItem; //MessageBox.Show(item.Link); linkUrl = item.Link; } Process.Start(linkUrl); //웹 브라우저 띄우기 }
private void BtnSearch_Click(object sender, RoutedEventArgs e) { StsResult.Content = ""; ImgPoster.Source = new BitmapImage(new Uri("No_Picutre.jpg", UriKind.RelativeOrAbsolute)); if (string.IsNullOrEmpty(TxtMovieName.Text)) { StsResult.Content = "검색할 영화명을 입력하고, 검색 버튼을 눌러주세요!"; Commons.ShowMessageAsync("검색", "검색할 영화명을 입력하고, 검색 버튼을 눌러주세요!"); return; } //Commons.ShowMessageAsync("결과", $"{TxtMovieName.Text}"); try { ProcSearchNaverApi(TxtMovieName.Text); Commons.ShowMessageAsync("검색", "영화검색 완료"); } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } Commons.IsFavorite = false; //즐겨찾기 아님 }
private void BtnDeleteWatchList_Click(object sender, RoutedEventArgs e) { if (Commons.IsFavorite == false) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 내용이 아닌 것은 삭제할 수 없습니다."); return; } if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("즐겨찾기", "삭제할 즐겨찾기 영화를 선택하세요"); return; } //List<NaverFavoriteMovies> removeList = new List<NaverFavoriteMovies>(); foreach (NaverFavoriteMovies item in GrdData.SelectedItems) { using (var ctx = new OpenApiLabEntities()) { //ctx.NaverFavoriteMovies.Remove(item); var itemDelete = ctx.NaverFavoriteMovies.Find(item.Idx); //삭제할 영화 객체 검색 후 생성 ctx.Entry(itemDelete).State = EntityState.Deleted; //검색 객체 상태를 삭제로 변경 ctx.SaveChanges(); //commit } } Commons.IsDelete = true; //조회 쿼리 다시 BtnViewWatchList_Click(sender, e); }
private void BtnViewWatchList_Click(object sender, RoutedEventArgs e) { ImgPoster.Source = new BitmapImage(new Uri("No_Picture.jpg", UriKind.RelativeOrAbsolute)); this.DataContext = null; TxtMovieName.Text = ""; //List<MovieItem> listData = new List<MovieItem>(); List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); try { using (var ctx = new OpenApiLabEntities()) { list = ctx.NaverFavoriteMovies.ToList(); } this.DataContext = list; StsResult.Content = $"즐겨찾기 {list.Count}개 조회"; if (Commons.IsDelete) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 삭제 완료!"); } else { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회 완료!"); } Commons.IsFavorite = true; // 즐겨찾기가 맞다는 플래그 값 } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); Commons.IsFavorite = false; // 명시적으로 한 번더 처리 } Commons.IsDelete = false; #region 필요없는 변환 파트 // 변환 필요 없음 /*foreach (var item in list) * { * listData.Add(new MovieItem( * item.Title, * item.Link, * item.Image, * item.SubTitle, * item.PubDate, * item.Director, * item.Actor, * item.UserRating * )); * } * * this.DataContext = listData; * StsResult.Content = $"즐겨찾기 {listData.Count}개 조회"; * Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회 완료!"); * Commons.IsFavorite = true; // 즐겨찾기가 맞다는 플래그 값 */ #endregion }
private void BtnViewWatchList_Click(object sender, RoutedEventArgs e) { this.DataContext = null; TxtMovieName.Text = ""; //List<MovieItem> listData = new List<MovieItem>(); List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); try { using (var ctx = new OpenApiLabEntities()) { list = ctx.NaverFavoriteMovies.ToList(); } this.DataContext = list; StsResult.Content = $"즐겨찾기 {list.Count}개 조회"; if (Commons.IsDelete) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기삭제 완료"); } else { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기보기 조회 완료"); } Commons.IsFavorite = true; // 즐겨찾기 맞으면 true } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); Commons.IsFavorite = false; // 한번 더 명시적으로 처리 } Commons.IsDelete = false; /* 변환 필요없음 * foreach (var item in list) * { * listData.Add(new MovieItem( * item.Title, * item.Link, * item.Image, * item.SubTitle, * item.PubDate, * item.Director, * item.Actor, * item.UserRating * )); * } * * this.DataContext = listData; * StsResult.Content = $"즐겨찾기 {listData.Count}개 조회"; * Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기보기 조회 완료"); * Commons.IsFavorite = true; // 즐겨찾기 맞으면 true*/ }
private void BtnViewWatchList_Click(object sender, RoutedEventArgs e) { this.DataContext = null; TxtMovieName.Text = ""; //List<MovieItem> ListData = new List<MovieItem>(); List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); try { using (var ctx = new OpenApiLabEntities()) { list = ctx.NaverFavoriteMovies.ToList(); } this.DataContext = list; StsResult.Content = $"즐겨찾기 {list.Count}개 조회"; if (Commons.IsDelete) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 삭제 완료"); } else { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회 완료"); } Commons.IsFavorite = true; // 즐겨찾기 맞음 } catch (Exception ex) { Commons.ShowMessageAsync("오류", $"오류내용 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); Commons.IsFavorite = false; // 한번 더 명시적으로 처리 } Commons.IsDelete = false; ImgPoster.Source = new BitmapImage(new Uri("No_Image.jpg", UriKind.RelativeOrAbsolute)); //변환필요없음 //foreach (var item in list) //{ // ListData.Add(new MovieItem( // item.Title, // item.Link, // item.Image, // item.SubTitle, // item.PubDate, // item.Director, // item.Actor, // item.UserRating // )); //} //this.DataContext = ListData; //StsResult.Content = $"즐겨찾기 {ListData.Count}개 조회"; //Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회 완료"); //Commons.IsFavorite = true; // 즐겨찾기 맞음 }
private void BtnAddWatchList_Click(object sender, RoutedEventArgs e) { if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("오류", "즐겨찾기에 추가할 영화를 선택하세요(복수선택 가능)"); return; } if (Commons.IsFavorite) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회내용을 다시 즐겨찾기 할 수 없습니다."); return; } List <NaverFavoriteMovies> favoriteMovies = new List <NaverFavoriteMovies>(); foreach (MovieItem item in GrdData.SelectedItems) { NaverFavoriteMovies temp = new NaverFavoriteMovies() { Title = item.Title, Link = item.Link, Image = item.Image, SubTitle = item.SubTitle, PubDate = item.PubDate, Director = item.Director, Actor = item.Actor, UserRating = item.UserRating, RegDate = DateTime.Now }; favoriteMovies.Add(temp); } try { using (var ctx = new OpenApiLabEntities()) { // AddRange // Adds the given collection of entities into context underlying the set with each // entity being put into the Added state such that it will be inserted into the // database when SaveChanges is called. ctx.Set <NaverFavoriteMovies>().AddRange(favoriteMovies); ctx.SaveChanges(); } Commons.ShowMessageAsync("저장", "즐겨찾기에 추가했습니다."); } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } }
private void BtnAddWatchList_Click(object sender, RoutedEventArgs e) { // Debug.WriteLine("Test"); //selecteItem 과 seletedItems 중 어떤 걸 넣을지에 대한 디버깅 if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("오류", "즐겨찾기에 추가 할 영화를 선택하세요 (복수선택가능)"); return; } if (Commons.IsFavorite) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회내용을 다시 즐겨찾기할 수 없습니다"); return; } List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); foreach (MovieItem item in GrdData.SelectedItems) { NaverFavoriteMovies temp = new NaverFavoriteMovies() { // item 있는 값을 temp로 옮겨줌 Q1. 왜 옮겨 주는가? // AS: 다른 메서드에서 데이터 불러오기 때문 Title = item.Title, Link = item.Link, Image = item.Image, SubTitle = item.SubTitle, PubDate = item.PubDate, Director = item.Director, Actor = item.Actor, UserRating = item.UserRating, RegDate = DateTime.Now }; list.Add(temp); } //데이터베이스에 가서 메서드 생성한 것 뿐. 어렵지 않음 try { using (var ctx = new OpenApiLabEntities()) { ctx.Set <NaverFavoriteMovies>().AddRange(list); ctx.SaveChanges(); } Commons.ShowMessageAsync("저장", "즐겨찾기 추가 완료"); } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } }
/// <summary> /// 즐겨찾기 추가 버튼 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnAddWatchList_Click(object sender, RoutedEventArgs e) { if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("오류", "즐겨찾기에 추가할 영화를 선택하세요(복수선택 가능)"); return; } if (Commons.IsFavorite) // 이미 즐겨찾기한 내용을 막아주기 위해 { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회내용을 다시 즐겨찾기할 수 없습니다."); return; } List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); foreach (MovieItem item in GrdData.SelectedItems) { NaverFavoriteMovies temp = new NaverFavoriteMovies() { Title = item.Title, Link = item.Link, Image = item.Image, Subtitle = item.Subtitle, PubDate = item.PubDate, Director = item.Director, Actor = item.Actor, UserRating = item.UserRating, RegDate = DateTime.Now }; list.Add(temp); } try { using (var ctx = new OpenApiLabEntities()) { ctx.Set <NaverFavoriteMovies>().AddRange(list); // ctx.NaverFavoriteMovies.AddRange(list); //위와 동일 ctx.SaveChanges(); } Commons.ShowMessageAsync("저장", "즐겨찾기 추가 성공"); } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 BtnAddWatchList_Click : {ex}"); } }
private void BtnAddWatchList_Click(object sender, RoutedEventArgs e) { if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("오류", "즐겨찾기에 추가할 영화를 선택하세요(복수선택 가능)"); return; } if (Commons.IsFavorite == true) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 조회내용을 다시 즐겨찾기할 수 없습니다."); return; } List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); foreach (MovieItem item in GrdData.SelectedItems) { NaverFavoriteMovies temp = new NaverFavoriteMovies() { Title = item.Title, Link = item.Link, Image = item.Image, SubTitle = item.SubTitle, PubDate = item.PubDate, Director = item.Director, Actor = item.Actor, UserRating = item.UserRating, RegDate = DateTime.Now }; list.Add(temp); } try { using (var ctx = new OpenApiLabEntities()) { //ctx.NaverFavoriteMovies.Add(list); 아래코드와동일 ctx.Set <NaverFavoriteMovies>().AddRange(list); ctx.SaveChanges(); } Commons.ShowMessageAsync("저장", "즐겨찾기에 추가했습니다"); } catch (Exception ex) { Commons.ShowMessageAsync("오류", $"오류내용 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } //GrdData.SelectedItem = null; ImgPoster.Source = new BitmapImage(new Uri("No_Image.jpg", UriKind.RelativeOrAbsolute)); }
private void DataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { ImgPoster.Source = new BitmapImage(new Uri("../../No_Picture.jpg", UriKind.RelativeOrAbsolute)); if (btnFlag) { GrdData.SelectedItem = null; btnFlag = false; return; } if (GrdData.SelectedItem == null) { Commons.ShowMessageAsync("오류", "영화를 선택하세요"); return; } if (GrdData.SelectedItem is MovieItem) { var movie = GrdData.SelectedItem as MovieItem; if (string.IsNullOrEmpty(movie.Image)) { ImgPoster.Source = new BitmapImage(new Uri("../../No_Picture.jpg", UriKind.RelativeOrAbsolute)); return; } BitmapImage Poster = new BitmapImage(); Poster.BeginInit(); Poster.UriSource = new Uri(movie.Image, UriKind.RelativeOrAbsolute); Poster.EndInit(); ImgPoster.Source = Poster; } if (GrdData.SelectedItem is NaverFavoriteMovies) { var movie = GrdData.SelectedItem as NaverFavoriteMovies; if (string.IsNullOrEmpty(movie.Image)) { ImgPoster.Source = new BitmapImage(new Uri("../../No_Picture.jpg", UriKind.RelativeOrAbsolute)); return; } BitmapImage Poster = new BitmapImage(); Poster.BeginInit(); Poster.UriSource = new Uri(movie.Image, UriKind.RelativeOrAbsolute); Poster.EndInit(); ImgPoster.Source = Poster; } }
private async void MetroWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { var result = await Commons.ShowMessageAsync("종료", "프로그램을 종료하시겠습니까?", MessageDialogStyle.AffirmativeAndNegative); if (result == MessageDialogResult.Affirmative) { e.Cancel = true; Application.Current.Shutdown(); } else { e.Cancel = false; return; } }
/// <summary> /// 네이버에서 영화정보 브라우저에서 띄우기 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnNaverMovieLink_Click(object sender, RoutedEventArgs e) { if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("네이버영화", "영화를 선택하세요."); return; } if (GrdData.SelectedItems.Count > 1) { Commons.ShowMessageAsync("네이버영화", "영화를 하나만 선택하세요."); return; } // 선택된 영화 네이버영화 URL 가져오기 string linkUrl = ""; if (Commons.IsFavorite) // 즐겨찾기 { var item = GrdData.SelectedItem as NaverFavoriteMovies; //MessageBox.Show(item.Link); linkUrl = item.Link; } else // Naver API { var item = GrdData.SelectedItem as MovieItem; //MessageBox.Show(item.Link); linkUrl = item.Link; } Process.Start(linkUrl); /* if (GrdData.SelectedItem is MovieItem) * { * var movie = GrdData.SelectedItem as MovieItem; * * Process.Start(new ProcessStartInfo(movie.Link)); * e.Handled = true; * } * if (GrdData.SelectedItem is NaverFavoriteMovies) * { * var movie = GrdData.SelectedItem as NaverFavoriteMovies; * * Process.Start(new ProcessStartInfo(movie.Link)); * e.Handled = true; * }*/ }
private void LsvYoutubeSearch_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (LsvYoutubeSearch.SelectedItems.Count == 0) { Commons.ShowMessageAsync("Youtube 시청", "영상을 선택하세요."); return; } else if (LsvYoutubeSearch.SelectedItems.Count == 0) { Commons.ShowMessageAsync("Youtube 시청", "영상을 하나만 선택하세요."); return; } if (LsvYoutubeSearch.SelectedItem is YoutubeItem) { var video = LsvYoutubeSearch.SelectedItem as YoutubeItem; BrwYoutubeWatch.Source = new Uri(video.URL, UriKind.RelativeOrAbsolute); } }
private async void LsvYoutubeSearch_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (LsvYoutubeSearch.SelectedItems.Count == 0) { Commons.ShowMessageAsync("유튜브보기", "예고편을 볼 영화를 선택하세요"); return; } if (LsvYoutubeSearch.SelectedItems.Count > 1) { Commons.ShowMessageAsync("유튜브보기", "예고편을 한 편만 선택하세요"); return; } if (LsvYoutubeSearch.SelectedValue is YoutubeItem) { var video = LsvYoutubeSearch.SelectedItem as YoutubeItem; BrwYoutubeWatch.Source = new Uri(video.URL, UriKind.RelativeOrAbsolute); //Process.Start(video.URL); } }
private void BtnViewWatchList_Click(object sender, RoutedEventArgs e) { this.DataContext = null; TxtMovieName.Text = ""; //List<MovieItem> listData = new List<MovieItem>(); List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); try { using (var ctx = new OpenApiLabEntities()) { list = ctx.NaverFavoriteMovies.ToList(); } this.DataContext = list; StsResult.Content = $"즐겨찾기 {list.Count}개 조회"; if (Commons.IsDelete) { } } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } //foreach (var item in list) //{ // listData.Add(new MovieItem( // item.Title, // item.Link, // item.Image, // item.SubTitle, // item.PubDate, // item.Director, // item.Actor, // item.UserRating // )); //} this.DataContext = list; }
private void BtnSearch_Click(object sender, RoutedEventArgs e) { StsResult.Content = ""; if (string.IsNullOrEmpty(TxtMovieName.Text)) { StsResult.Content = "검색할 영화명을 입력 후, 검색버튼을 눌러주세요."; return; } //Commons.ShowMessageAsync("결과", $"{TxtMovieName.Text}"); try { ProcSearchNaverApi(TxtMovieName.Text); } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } }
/// <summary> /// 즐겨찾기 보기 버튼 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnViewWatchList_Click(object sender, RoutedEventArgs e) { this.DataContext = null; TxtMovieName.Text = ""; List <MovieItem> listData = new List <MovieItem>(); List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); try { using (var ctx = new OpenApiLabEntities()) { list = ctx.NaverFavoriteMovies.ToList(); } this.DataContext = list; StsResult.Content = $"즐겨찾기 {list.Count}개 조회"; if (Commons.IsDelete) // 즐겨찾기 삭제 일때 { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 삭제 완료"); } else { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 보기 조회 완료"); } Commons.IsFavorite = true; // 즐겨찾기 맞음 } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 BtnViewWatchList_Click : {ex}"); Commons.IsFavorite = false; // 즐겨찾기 아님 } Commons.IsDelete = false; // 즐겨찾기 삭제 상태 아님 }
private void BtnViewWatchList_Click(object sender, RoutedEventArgs e) { this.DataContext = null; TxtMovieName.Text = ""; List <MovieItem> listData = new List <MovieItem>(); List <NaverFavoriteMovies> list = new List <NaverFavoriteMovies>(); try { using (var ctx = new OpenApiLabEntities()) { list = ctx.NaverFavoriteMovies.ToList(); } } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error("예외", $"예외발생 : {ex}"); } foreach (var item in list) { listData.Add(new MovieItem( item.Title, item.Link, item.Image, item.SubTitle, item.PubDate, item.Director, item.Actor, item.UserRating )); } this.DataContext = listData; }
private void BtnDeleteWatchList_Click(object sender, RoutedEventArgs e) { if (!Commons.IsFavorite) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 내용이 아니면 삭제할 수 없습니다."); return; } if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기에서 삭제할 영화를 선택하세요."); return; } try { foreach (NaverFavoriteMovies item in GrdData.SelectedItems) { using (var ctx = new OpenApiLabEntities()) { var itemDelete = ctx.NaverFavoriteMovies.Find(item.Idx); //삭제할 영화 객체 검색 후 생성 ctx.Entry(itemDelete).State = EntityState.Deleted; //검색객체 상태를 삭제로 변경 ctx.SaveChanges(); //comit } } } catch (Exception ex) { Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); Commons.LOGGER.Error($"예외발생 : {ex}"); } //삭제 Commons.IsDelete = true; BtnViewWatchList_Click(sender, e); }
private void BtnDeleteWatchList_Click(object sender, RoutedEventArgs e) { if (Commons.IsFavorite == false) { Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기가 아닌 영화는 삭제할 수 없습니다."); return; } if (GrdData.SelectedItems.Count == 0) { Commons.ShowMessageAsync("즐겨찾기", "삭제할 즐겨찾기 영화를 선택하세요."); return; } #region 다른 삭제 방법 /*List<NaverFavoriteMovies> list = new List<NaverFavoriteMovies>(); * * foreach (MovieItem item in GrdData.SelectedItems) * { * NaverFavoriteMovies temp = new NaverFavoriteMovies() * { * Title = item.Title, * Link = item.Link, * Image = item.Image, * SubTitle = item.SubTitle, * PubDate = item.PubDate, * Actor = item.Actor, * UserRating = item.UserRating, * RegDate = DateTime.Now * }; * * list.Add(temp); * } * * try * { * using (var ctx = new OpenApiLabEntities()) * { * //ctx.NaverFavoriteMovies.AddRange(list); 아래와 동 * ctx.Set<NaverFavoriteMovies>().RemoveRange(list); * ctx.SaveChanges(); * } * * Commons.ShowMessageAsync("저장", "즐겨찾기에서 삭제했습니다!"); * } * catch (Exception ex) * { * Commons.ShowMessageAsync("예외", $"예외발생 : {ex}"); * Commons.LOGGER.Error($"예외발생 : {ex}"); * }*/ #endregion //List<NaverFavoriteMovies> removeList = new List<NaverFavoriteMovies>(); foreach (NaverFavoriteMovies item in GrdData.SelectedItems) { using (var ctx = new OpenApiLabEntities()) { //ctx.NaverFavoriteMovies.Remove(item); var itemDelete = ctx.NaverFavoriteMovies.Find(item.Idx); // 삭제할 영화 객체 검색 후 생성 ctx.Entry(itemDelete).State = EntityState.Deleted; // 검색 객체 상태를 삭제로 변경 ctx.SaveChanges(); // 커밋 } } Commons.IsDelete = true; // 조회 쿼리 BtnViewWatchList_Click(sender, e); }