Esempio n. 1
0
        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())
                {
                    var itemDelete = ctx.NaverFavoriteMovies.Find(item.Idx); // 삭제할 영화 객체 검색 후 생성
                    ctx.Entry(itemDelete).State = EntityState.Deleted;       // 검색객체 상태를 삭제로 변경
                    ctx.SaveChanges();
                }
            }

            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 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);
        }
Esempio n. 4
0
        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)
            {
                //removelist.Add(item);
                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
                }
            }
            //조회쿼리 다시
            BtnViewWatchList_Click(sender, e);
            ImgPoster.Source = new BitmapImage(new Uri("No_Image.jpg", UriKind.RelativeOrAbsolute));
        }
Esempio n. 5
0
        private async void btnAddWatchList_Click(object sender, RoutedEventArgs e)
        {
            if (grdData.SelectedItems.Count == 0)
            {
                await this.ShowMessageAsync("오류", $"즐겨찾기에 추가할 영화를 선택하세요.",
                                            MessageDialogStyle.Affirmative, null);

                return;
            }

            // grdData.SelectedItem : MovieItem -> FavoriteMovies (Entity Framework) 로 클래스 변경
            List <FavoriteMovies> movies = new List <FavoriteMovies>();

            foreach (MovieItem item in grdData.SelectedItems)
            {
                FavoriteMovies temp = new FavoriteMovies()
                {
                    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
                };
                movies.Add(temp);
            }

            using (var ctx = new OpenApiLabEntities())
            {
                try
                {
                    ctx.Set <FavoriteMovies>().AddRange(movies);
                    ctx.SaveChanges();
                    stsResult.Content = $"즐겨찾기 {movies.Count}건 추가 완료.";
                    await this.ShowMessageAsync("저장 성공", $"영화 {movies.Count}개를 즐겨찾기에 추가했습니다",
                                                MessageDialogStyle.Affirmative, null);
                }
                catch (Exception ex)
                {
                    if (ex.InnerException.InnerException.HResult == -2146232060)
                    {
                        await this.ShowMessageAsync("오류", $"이미 즐겨찾기에 있는 영화가 포함되어 있습니다.",
                                                    MessageDialogStyle.Affirmative, null);
                    }
                    else
                    {
                        await this.ShowMessageAsync("오류", $"예외 발생 : {ex.Message}",
                                                    MessageDialogStyle.Affirmative, null);

                        common.LOGGER.Error($"예외 발생 : {ex}");
                    }
                }
            }
        }
        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>(); //  DB의 값을 저장할 리스트 선언

            try
            {
                using (var ctx = new OpenApiLabEntities())
                {
                    list = ctx.NaverFavoriteMovies.ToList();   // DB 값을 출력
                }
                this.DataContext  = list;
                StsResult.Content = $"즐겨찾기 {list.Count}개 조회";
                if (Commons.IsDelete == true)
                {
                    Commons.ShowMessageAsync("즐겨찾기", "즐겨찾기 삭제 완료");
                }
                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("즐겨찾기", "즐겨찾기 보기 조회 완료");
            //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}");
            }
        }
        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}");
            }
        }
Esempio n. 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; // 즐겨찾기 맞음
        }
Esempio n. 11
0
        /// <summary>
        /// 즐겨찾기 목록 불러오기 (Entity Framework)
        /// </summary>
        /// <returns></returns>
        private List <FavoriteMovies> FavoriteList()
        {
            // List<MovieItem> movies = new List<MovieItem>();
            List <FavoriteMovies> favorites = new List <FavoriteMovies>();

            using (var ctx = new OpenApiLabEntities())
            {
                favorites = ctx.FavoriteMovies.ToList();
            }
            return(favorites);
        }
        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}");
            }
        }
Esempio n. 13
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));
        }
Esempio n. 14
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;
        }
Esempio n. 15
0
        private async void btnDeleteWatchList_Click(object sender, RoutedEventArgs e)
        {
            if (grdData.SelectedItems.Count == 0)
            {
                await this.ShowMessageAsync("오류", "삭제할 즐겨찾기 영화를 선택하세요");

                return;
            }
            // List<FavoriteMovies> removeList = new List<FavoriteMovies>();
            foreach (FavoriteMovies item in grdData.SelectedItems)
            {
                // 삭제
                using (var ctx = new OpenApiLabEntities())
                {
                    var itemDelete = ctx.FavoriteMovies.Find(item.Idx);
                    ctx.Entry(itemDelete).State = System.Data.Entity.EntityState.Deleted;
                    ctx.SaveChanges();
                }
            }

            btnViewWatchList_Click(sender, e);
        }
Esempio n. 16
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;
        }
Esempio n. 18
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);
        }