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*/
        }
示例#10
0
        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}");
            }
        }
示例#13
0
        /// <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}");
            }
        }
示例#14
0
        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;
            }
        }
示例#17
0
        /// <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;
 *          }*/
        }
示例#18
0
 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);
     }
 }
示例#19
0
 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);
     }
 }
示例#20
0
        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;
        }
示例#21
0
        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}");
            }
        }
示例#22
0
        /// <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;
        }
示例#24
0
        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);
        }