Ejemplo n.º 1
0
        public BookVM EditBookExternalTest(BookVM targetBook)
        {
            if (targetBook == null)
            {
                return(null);
            }
            EditBookWindowVM vm = new EditBookWindowVM(targetBook.Book)
            {
                Parent = this
            };

            vm.Init(null);
            EditBookWindow window  = new EditBookWindow(vm);
            BookVM         newBook = null;

            if (window.ShowDialog() == true)
            {
                newBook = new BookVM(vm.Book)
                {
                    Parent = this
                };
            }
            window.Content = null;
            return(newBook);
        }
Ejemplo n.º 2
0
        public void EditBook()
        {
            BookVM newBook = EditBookExternal(SelectedBook);

            if (newBook != null)
            {
                SelectedBookItem = newBook;
            }
        }
Ejemplo n.º 3
0
        public void AddBook()
        {
            BookVM newBook = AddBookExternal(null);

            if (newBook != null)
            {
                SelectedBookItem = newBook;
            }
        }
Ejemplo n.º 4
0
 public BookFormVM(StudyUnitVM studyUnit)
     : base(studyUnit)
 {
     books = new ObservableCollection<BookVM>();
     foreach (Book bookModel in studyUnit.BookModels)
     {
         BookVM book = new BookVM(bookModel) { Parent = this };
         books.Add(book);
     }
     modelSyncher = new ModelSyncher<BookVM, Book>(this, books, studyUnit.BookModels);
 }
Ejemplo n.º 5
0
 public BookFormVM(StudyUnitVM studyUnit)
     : base(studyUnit)
 {
     books = new ObservableCollection <BookVM>();
     foreach (Book bookModel in studyUnit.BookModels)
     {
         BookVM book = new BookVM(bookModel)
         {
             Parent = this
         };
         books.Add(book);
     }
     modelSyncher = new ModelSyncher <BookVM, Book>(this, books, studyUnit.BookModels);
 }
Ejemplo n.º 6
0
        public BookVM AddBookExternal(BookRelation relation)
        {
            BookVM newBook = AddOrEditBook(null, relation);

            if (newBook != null)
            {
                using (UndoTransaction tx = new UndoTransaction(UndoManager))
                {
                    books.Add(newBook);
                    StudyUnit.OnRemoveBooks();
                    tx.Commit();
                }
            }
            return(newBook);
        }
Ejemplo n.º 7
0
 public void RemoveBookExternal(BookVM targetBook)
 {
     if (targetBook == null)
     {
         return;
     }
     using (UndoTransaction tx = new UndoTransaction(UndoManager))
     {
         books.Remove(targetBook);
         StudyUnit.OnRemoveBooks();
         tx.Commit();
     }
     if (SelectedBook == targetBook)
     {
         SelectedBookItem = null;
     }
 }
Ejemplo n.º 8
0
        public BookVM SelectBookExternal(BookRelation relation)
        {
            SelectObjectWindowVM <BookVM> vm     = new SelectObjectWindowVM <BookVM>(books);
            SelectObjectWindow            window = new SelectObjectWindow(vm);
            BookVM book = SelectObjectWindow.Select(Resources.SelectBook, vm) as BookVM; //Select

            if (book != null)
            {
                using (UndoTransaction tx = new UndoTransaction(UndoManager))
                {
                    if (book.Book.FindRelation(relation) == null)
                    {
                        //Need not be generated here since ViewModel Since is re-generated every time EditBookWindow is displayed.
                        book.Book.BookRelations.Add(relation);
                    }
                    StudyUnit.OnRemoveBooks();
                    tx.Commit();
                }
            }
            return(book);
        }
Ejemplo n.º 9
0
        public BookVM EditBookExternal(BookVM targetBook)
        {
            if (targetBook == null)
            {
                return(null);
            }
            BookVM newBook = AddOrEditBook(targetBook.Book, null);

            if (newBook != null)
            {
                using (UndoTransaction tx = new UndoTransaction(UndoManager))
                {
                    int index = books.IndexOf(targetBook);
                    books.RemoveAt(index);
                    books.Insert(index, newBook);
                    StudyUnit.OnRemoveBooks();
                    tx.Commit();
                }
            }
            return(newBook);
        }
Ejemplo n.º 10
0
        private BookVM AddOrEditBook(Book book, BookRelation relation)
        {
            EditBookWindowVM vm = new EditBookWindowVM(book)
            {
                Parent = this
            };

            vm.Init(relation);
            EditBookWindow window = new EditBookWindow(vm);

            window.Owner = Application.Current.MainWindow;
            BookVM newBook = null;

            if (window.ShowDialog() == true)
            {
                newBook = new BookVM(vm.Book)
                {
                    Parent = this
                };
            }
            window.Content = null;
            return(newBook);
        }
Ejemplo n.º 11
0
 private void UpdateSelectedItem(BookVM newBook)
 {
     if (newBook != null)
     {
         SelectedBookItem = books.Contains(newBook) ? newBook : null;
     }
 }
Ejemplo n.º 12
0
 public BookVM EditBookExternalTest(BookVM targetBook)
 {
     if (targetBook == null)
     {
         return null;
     }
     EditBookWindowVM vm = new EditBookWindowVM(targetBook.Book) { Parent = this };
     vm.Init(null);
     EditBookWindow window = new EditBookWindow(vm);
     BookVM newBook = null;
     if (window.ShowDialog() == true)
     {
         newBook = new BookVM(vm.Book) { Parent = this };
     }
     window.Content = null;
     return newBook;
 }
Ejemplo n.º 13
0
        private BookVM AddOrEditBook(Book book, BookRelation relation)
        {
            EditBookWindowVM vm = new EditBookWindowVM(book) { Parent = this };
            vm.Init(relation);
            EditBookWindow window = new EditBookWindow(vm);
            window.Owner = Application.Current.MainWindow;
            BookVM newBook = null;
            if (window.ShowDialog() == true)
            {
                newBook = new BookVM(vm.Book) { Parent = this };

            }
            window.Content = null;
            return newBook;
        }
Ejemplo n.º 14
0
 public void RemoveBookExternal(BookVM targetBook)
 {
     if (targetBook == null)
     {
         return;
     }
     using (UndoTransaction tx = new UndoTransaction(UndoManager))
     {
         books.Remove(targetBook);
         StudyUnit.OnRemoveBooks();
         tx.Commit();
     }
     if (SelectedBook == targetBook)
     {
         SelectedBookItem = null;
     }
 }
Ejemplo n.º 15
0
 public BookVM EditBook(BookVM book)
 {
     return bookForm.EditBookExternal(book);
 }
Ejemplo n.º 16
0
 public void RemoveBook(BookVM book)
 {
     bookForm.RemoveBookExternal(book);
 }
Ejemplo n.º 17
0
 public BookVM EditBookExternal(BookVM targetBook)
 {
     if (targetBook == null)
     {
         return null;
     }
     BookVM newBook = AddOrEditBook(targetBook.Book, null);
     if (newBook != null)
     {
         using (UndoTransaction tx = new UndoTransaction(UndoManager))
         {
             int index = books.IndexOf(targetBook);
             books.RemoveAt(index);
             books.Insert(index, newBook);
             StudyUnit.OnRemoveBooks();
             tx.Commit();
         }
     }
     return newBook;
 }