// функция удаления строки из таблицу Publisher базы данных static void DelPublisher(int id) { using (LibraryEntities db = new LibraryEntities()) { Publisher a = db.Publisher.Where((x) => x.Id == id).FirstOrDefault(); if (a != null) { db.Publisher.Remove(a); } db.SaveChanges(); } }
// функция добавленя в новой строки в таблицу Publisher базы данных static void AddPublisher(Publisher publisher) { using (LibraryEntities db = new LibraryEntities()) { Publisher p = db.Publisher.Where((x) => x.PublisherName == publisher.PublisherName).FirstOrDefault(); if (p == null) { db.Publisher.Add(publisher); } db.SaveChanges(); } }
// функция добавления в новой строки в таблицу Author базы данных static void AddAuthor(Author author) { using (LibraryEntities db = new LibraryEntities()) { Author au = db.Author.Where((x) => (x.FirstName + x.LastName) == (author.FirstName + author.LastName)).FirstOrDefault(); if (au == null) { db.Author.Add(author); } db.SaveChanges(); } }
// функция удаления строки из таблицу Book базы данных static void DelBook(int id) { using (LibraryEntities db = new LibraryEntities()) { Book a = db.Book.Where((x) => x.Id == id).FirstOrDefault(); if (a != null) { db.Book.Remove(a); } db.SaveChanges(); } }
// функция добавления в новой строки в таблицу Book базы данных static void AddBook(Book book) { using (LibraryEntities db = new LibraryEntities()) { Book a = db.Book.Where((x) => x.Title == book.Title).FirstOrDefault(); if (a == null) { db.Book.Add(book); } db.SaveChanges(); } }
// обработка события подтверждения ввода отредактированной информации private void EditButton_Click(object sender, EventArgs e) { switch (TabControlPageName) { case "BooksPage": using (LibraryEntities db = new LibraryEntities()) { List <TextBox> booklist = addForm.Controls.OfType <TextBox>().ToList(); // ищем Id редактируем книжки среди контроллов формы для редактирования int id = Convert.ToInt32((booklist.Find(item => item.Name == "Id")).Text); Book a = db.Book.Where((x) => x.Id == id).FirstOrDefault(); if (a != null) { foreach (var t in addForm.Controls.OfType <TextBox>()) { if (t.Name == "Title") { a.Title = t.Text; } if (t.Name == "IdPublisher") { a.IdPublisher = Convert.ToInt32(t.Text); } if (t.Name == "IdAuthor") { a.IdAuthor = Convert.ToInt32(t.Text); // Convert.ToInt32(tb.Name.ToString()); } if (t.Name == "Pages") { a.Pages = Convert.ToInt32(t.Text); } if (t.Name == "Price") { a.Price = Convert.ToInt32(t.Text); } } } db.SaveChanges(); } addForm.Close(); LoadData(); break; case "AuthorsPage": Author author = new Author(); foreach (var a in addForm.Controls.OfType <TextBox>()) { if (a.Name == "FirstName") { author.FirstName = a.Text; } if (a.Name == "LastName") { author.LastName = a.Text; } } AddAuthor(author); addForm.Close(); LoadData(); break; case "PublishersPage": Publisher publisher = new Publisher(); foreach (var p in addForm.Controls.OfType <TextBox>()) { if (p.Name == "PublisherName") { publisher.PublisherName = p.Text; } if (p.Name == "Address") { publisher.Address = p.Text; } } AddPublisher(publisher); addForm.Close(); LoadData(); break; } }
// загрузка данных из базы public void LoadData() { using (LibraryEntities db = new LibraryEntities()) { // заполняем таблицу вкладки Books // формируем колонки dtBooks = new DataTable(); dtBooks.Columns.Add("Id"); dtBooks.Columns.Add("Title"); dtBooks.Columns.Add("IdAuthor"); dtBooks.Columns.Add("Pages"); dtBooks.Columns.Add("Price"); dtBooks.Columns.Add("IdPublisher"); // загружаем данные из базы var bks = db.Book.ToList(); foreach (var b in bks) { DataRow dr = dtBooks.NewRow(); dr["Id"] = b.Id; dr["Title"] = b.Title; dr["IdAuthor"] = b.IdAuthor; dr["Pages"] = b.Pages; dr["Price"] = b.Price; dr["IdPublisher"] = b.IdPublisher; dtBooks.Rows.Add(dr); } // чистим датагрид dataGridView1.DataSource = null; // закидываем рабочую таблицу на датагрид dataGridView1.DataSource = dtBooks; // заполняем таблицу вкладки Authors dtAuthors = new DataTable(); dtAuthors.Columns.Add("Id"); dtAuthors.Columns.Add("FirstName"); dtAuthors.Columns.Add("LastName"); var au = db.Author.ToList(); foreach (var a in au) { DataRow dr = dtAuthors.NewRow(); dr["Id"] = a.Id; dr["FirstName"] = a.FirstName; dr["LastName"] = a.LastName; dtAuthors.Rows.Add(dr); } dataGridView2.DataSource = null; dataGridView2.DataSource = dtAuthors; // заполняем таблицу вкладки Publisher dtPublishers = new DataTable(); dtPublishers.Columns.Add("Id"); dtPublishers.Columns.Add("PublisherName"); dtPublishers.Columns.Add("Address"); var pb = db.Publisher.ToList(); foreach (var p in pb) { DataRow dr = dtPublishers.NewRow(); dr["Id"] = p.Id; dr["PublisherName"] = p.PublisherName; dr["Address"] = p.Address; dtPublishers.Rows.Add(dr); } dataGridView3.DataSource = null; dataGridView3.DataSource = dtPublishers; } }