private void BtnSearch_Click(object sender, RoutedEventArgs e)
        {
            Stsresult.Content = "";
            ImgPoster.Source  = new BitmapImage(new Uri("No_Picture.jpg", UriKind.RelativeOrAbsolute));


            if (string.IsNullOrEmpty(TxtMovieName.Text))
            {
                Stsresult.Content = "검색할 영화명을 입력 후, 검색버튼을 눌러주세요";
                Commons.showMessageAsync("검색", "검색할 영화명을 입력 후, 검색버튼을 눌러주세요");
                return;
            }



            try
            {
                ProcessSearchNaverApi(TxtMovieName.Text);
                Commons.showMessageAsync("검색", "영화검색 완료");
            }
            catch (Exception ex)
            {
                Commons.showMessageAsync("예외", $"예외발생 : {ex}");
                // 로그 추가 commons
            }

            Commons.IsFavorite = false; // 즐겨찾기 아님


            //Commons.showMessageAsync("결과", $"{TxtMovieName.Text}");
        }
        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 // 네이버 api
            {
                var item = GrdData.SelectedItem as MovieItem;
                //MessageBox.Show(item.Link);
                linkUrl = item.Link;
            }

            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;
            }

            string movieName = "";

            if (Commons.IsFavorite) // 즐겨찾기
            {
                var item = GrdData.SelectedItem as NaverFavoriteMovies;
                //MessageBox.Show(item.Link);
                movieName = item.Title;
            }
            else // 네이버 api
            {
                var item = GrdData.SelectedItem as MovieItem;
                //MessageBox.Show(item.Link);
                movieName = item.Title;
            }


            var trailerWindow = new TrailerWindow(movieName);

            trailerWindow.Owner = this;
            trailerWindow.ShowDialog();
        }
        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 = System.Data.Entity.EntityState.Deleted; // 검색객체 상태를 삭제로 변경
                    ctx.SaveChanges();                                                    // commit
                }
            }

            Commons.IsDelete = true;

            // 조회쿼리 다시
            BtnViewWatchList_Click(sender, e);
        }
        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 == false)
                {
                    Commons.showMessageAsync("즐겨찾기", $"즐겨찾기 {list.Count}개 조회완료");
                }
                else
                {
                    Commons.showMessageAsync("즐겨찾기", "즐겨찾기 삭제완료");
                }

                Commons.IsFavorite = 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("즐겨찾기", $"즐겨찾기 {listData.Count}개 조회");
            //Commons.IsFavorite = true; // 즐겨찾기 맞음
        }
        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.AddRange(list); 아래와 차이없음
                    ctx.Set <NaverFavoriteMovies>().AddRange(list);
                    ctx.SaveChanges();
                }


                Commons.showMessageAsync("저장", $"즐겨찾기 추가");
            }
            catch (Exception ex)
            {
                Commons.showMessageAsync("예외", $"예외발생 : {ex}");
                Commons.LOGGER.Error($"예외발생 : {ex}");
            }
        }
示例#7
0
        private void LsvYoutubeSearch_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (LsvYoutubeSearch.SelectedItems.Count == 0)
            {
                Commons.showMessageAsync("유튜브보기", "예고편을 볼 영화를 선택하세요");
            }

            if (LsvYoutubeSearch.SelectedItems.Count > 1)
            {
                Commons.showMessageAsync("유튜브보기", "예고편을 하나만 선택하세요");
            }

            if (LsvYoutubeSearch.SelectedItem is YoutubeItem)
            {
                var video = LsvYoutubeSearch.SelectedItem as YoutubeItem;
                BrwYoutubeWatch.Source = new Uri(video.URL, UriKind.RelativeOrAbsolute);
            }
        }