Guest User

Untitled

a guest
Feb 20th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1. public partial class Catalog
  2. {
  3. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
  4. public Catalog()
  5. {
  6. this.Books = new HashSet<Book>();
  7. }
  8.  
  9. public System.Guid Id { get; set; }
  10. public string Name { get; set; }
  11.  
  12. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  13. public virtual ICollection<Book> Books { get; set; }
  14. }
  15.  
  16.  
  17. public partial class Book
  18. {
  19. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
  20. public Book()
  21. {
  22. this.Orders = new HashSet<Order>();
  23. }
  24.  
  25. public System.Guid Id { get; set; }
  26. public string Name { get; set; }
  27. public string Genre { get; set; }
  28. public string Author { get; set; }
  29. public short Year { get; set; }
  30.  
  31. public virtual Catalog Catalog { get; set; }
  32. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  33. public virtual ICollection<Order> Orders { get; set; }
  34. }
  35.  
  36.  
  37. public partial class Order
  38. {
  39. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
  40. public Order()
  41. {
  42. this.Books = new HashSet<Book>();
  43. }
  44.  
  45. public System.Guid Id { get; set; }
  46. public string Number { get; set; }
  47. public Nullable<System.DateTime> RegisteredOn { get; set; }
  48. public Nullable<System.DateTime> ClosureDate { get; set; }
  49.  
  50. public virtual Reader Reader { get; set; }
  51. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  52. public virtual ICollection<Book> Books { get; set; }
  53. }
  54.  
  55.  
  56. public partial class LibraryModelContainer : DbContext
  57. {
  58. public LibraryModelContainer()
  59. : base("name=LibraryModelContainer")
  60. {
  61. }
  62.  
  63. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  64. {
  65. throw new UnintentionalCodeFirstException();
  66. }
  67.  
  68. public virtual DbSet<Book> Books { get; set; }
  69. public virtual DbSet<Catalog> Catalogs { get; set; }
  70. public virtual DbSet<Order> Orders { get; set; }
  71. public virtual DbSet<Reader> Readers { get; set; }
  72. }
  73.  
  74. using (LibraryModelContainer dbContainer = new LibraryModelContainer())
  75. {
  76. Catalog catalog = new Catalog
  77. {
  78. Id = Guid.NewGuid(),
  79. Name = CatalogTextBox.Text
  80. };
  81.  
  82. dbContainer.Catalogs.Add(catalog);
  83. dbContainer.SaveChanges();
  84. }
  85.  
  86. using (LibraryModelContainer dbContainer = new LibraryModelContainer())
  87. {
  88. Catalog catalog = dbContainer.Catalogs.Find(((Catalog)BookCatalogComboBox.SelectedItem).Id);
  89. Book book = new Book
  90. {
  91. Id = Guid.NewGuid(),
  92. Name = BookAuthorTextBox.Text,
  93. Genre = BookGenreComboBox.Text,
  94. Author = BookAuthorTextBox.Text,
  95. Year = Convert.ToInt16(BookYearMaskedTextBox.Text),
  96. Catalog = catalog
  97. };
  98.  
  99. dbContainer.Books.Add(book);
  100. dbContainer.SaveChanges();
  101. _window.BookDataGrid.ItemsSource = dbContainer.Books.ToList();
  102. }
  103.  
  104. using (LibraryModelContainer dbContainer = new LibraryModelContainer())
  105. {
  106. Reader reader = dbContainer.Readers.Find(((Reader)ReaderNameComboBox.SelectedItem).Id);
  107.  
  108. ICollection<Book> books = new List<Book>();
  109.  
  110. foreach (Book book in BasketBookDataGrid.Items)
  111. {
  112. books.Add(book);
  113. }
  114.  
  115. Order order = new Order
  116. {
  117. Id = Guid.NewGuid(),
  118. Number = "НОМЕР123",
  119. RegisteredOn = DateTime.Now,
  120. ClosureDate = null,
  121. Reader = reader,
  122. Books = books
  123. };
  124.  
  125. dbContainer.Orders.Add(order);
  126. dbContainer.SaveChanges();
  127. _window.OrderDataGrid.ItemsSource = dbContainer.Orders.ToList();
  128. }
  129.  
  130. <DataGrid Name="BookDataGrid">
  131. <DataGrid.Columns>
  132. <DataGridTextColumn Binding="{Binding Name}" Header="Название" MinWidth="114"></DataGridTextColumn>
  133. <DataGridTextColumn Binding="{Binding Genre}" Header="Жанр" MinWidth="114"></DataGridTextColumn>
  134. <DataGridTextColumn Binding="{Binding Author}" Header="Автор" MinWidth="114"></DataGridTextColumn>
  135. <DataGridTextColumn Binding="{Binding Year}" Header="Год издания" MinWidth="114"></DataGridTextColumn>
  136. </DataGrid.Columns>
  137. </DataGrid>
  138.  
  139. private void AddBookToTheBasket_Click(object sender, RoutedEventArgs e) // Добавление книг в корзину заказа
  140. {
  141. using (LibraryModelContainer dbContainer = new LibraryModelContainer())
  142. {
  143. Book book = dbContainer.Books.Find(((Book)BookDataGrid.SelectedItem).Id);
  144. if (book != null) // Если в DataGrid книг выбрана строка
  145. {
  146. BasketBookDataGrid.Items.Add(book);
  147. }
  148. else // Если в DataGrid книг ничего не выбрано
  149. {
  150. MessageBox.Show("В таблице книг не выбрана книга.");
  151. }
  152. }
  153. }
Add Comment
Please, Sign In to add comment