12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using MongoDB.Bson;
- using MongoDB.Driver;
- using System.Collections.Generic;
- using System.Linq;
- using System.Windows;
- using System.Windows.Controls;
- namespace BookShelfMongoDB
- {
- public partial class MainWindow : Window
- {
- private BookStoreContext _context;
- public MainWindow()
- {
- InitializeComponent();
- _context = new BookStoreContext();
- Load();
- }
- private void Load()
- {
- BooksGrid.ItemsSource = _context.GetCollection<Book>("Book").Find(new BsonDocument()).ToList();
- }
- private void BtnInsert_Click(object sender, RoutedEventArgs e)
- {
- if (!decimal.TryParse(TbPrice.Text, out decimal price))
- {
- return;
- }
- Book book = new()
- {
- Name = TbPrice.Text,
- Price = price,
- Author = TbAuthor.Text,
- Category = TbCategory.Text,
- };
- _context.GetCollection<Book>("Book").InsertOne(book);
- Load();
- }
- private void BtnUpdate_Click(object sender, RoutedEventArgs e)
- {
- if (BooksGrid.SelectedItem is Book selectedBook)
- {
- if (!decimal.TryParse(TbPrice.Text, out decimal price))
- {
- return;
- }
- selectedBook.Name = TbName.Text;
- selectedBook.Price = price;
- selectedBook.Author = TbAuthor.Text;
- selectedBook.Category = TbCategory.Text;
- _context.GetCollection<Book>("Book").ReplaceOne(x => x.Id == selectedBook.Id, selectedBook);
- Load();
- }
- }
- private void BtnDelete_Click(object sender, RoutedEventArgs e)
- {
- if (BooksGrid.SelectedItem is Book selectedBook)
- {
- _context.GetCollection<Book>("Book").DeleteOne(x => x.Id == selectedBook.Id);
- Load();
- }
- }
- private void BooksGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- if (BooksGrid.SelectedItem is Book selectedBook)
- {
- TbName.Text = selectedBook.Name;
- TbPrice.Text = selectedBook.Price.ToString();
- TbAuthor.Text = selectedBook.Author;
- TbCategory.Text = selectedBook.Category;
- }
- }
- }
- }
|