public static BookShelf GetBookShelfById(string id)//按Id取得特定的书架 { using (var db = new BookShelfContext()) { return(AllShelves(db).FirstOrDefault(o => o.BookShelfId == id)); } }
public static List <Book> AllBooks()//取得所有的书 { using (var db = new BookShelfContext()) { return(db.Books.ToList()); } }
public static List <Book> GetAllLentBooks(Client client)//取得所有已借阅的书 { using (var db = new BookShelfContext()) { return(db.Books.Where(o => o.State == "已被借阅").Where(p => p.ClientName == client.Name).ToList()); } }
public static List <Client> AllClients()//取得所有的用户 { using (var db = new BookShelfContext()) { return(db.Clients.ToList()); } }
public static void RemoveBooks(string bookId)//删除书籍(对单本书进行操作) { using (var db = new BookShelfContext()) { var oldBooks = db.Books.Where(book => book.BookId == bookId); db.Books.RemoveRange(oldBooks); db.SaveChanges(); } }
private static void RemoveBooksFromShelf(string bookShelfId)//删除书籍(对整个书架进行操作),可能无用 { using (var db = new BookShelfContext()) { var oldBooks = db.Books.Where(book => book.BookShelfId == bookShelfId); db.Books.RemoveRange(oldBooks); db.SaveChanges(); } }
public static void UpdateBook(Book newBook)//更新数据库内的书籍 { RemoveBooks(newBook.BookId); using (var db = new BookShelfContext()) { db.Entry(newBook).State = EntityState.Modified; db.Books.Add(newBook); db.SaveChanges(); } }
public static void UpdateShelf(BookShelf newBookShelf)//更新数据库内的书架 { RemoveBooksFromShelf(newBookShelf.BookShelfId); using (var db = new BookShelfContext()) { db.Entry(newBookShelf).State = EntityState.Modified; db.Books.AddRange(newBookShelf.Books); db.SaveChanges(); } }
public static List <BookShelf> GetAllShelfs()//取得数据库内全部的书架 { using (var db = new BookShelfContext()) { var query = AllShelves(db).ToList(); foreach (var shelf in query) { shelf.SetNum(); } return(query); } }
public static void AddAdministrator(Client admin)//添加管理员 { try { using (var db = new BookShelfContext()) { db.Clients.Add(admin); db.SaveChanges(); } } catch (Exception e) { throw new ApplicationException($"添加管理员错误: {e.Message}"); } }
public static List <Book> GetAllAppointedBooks(Client client)//取得所有预约的书 { using (var db = new BookShelfContext()) { List <Book> appointed = new List <Book>(); foreach (var b in db.Books.Where(o => o.State == "已被借阅").ToList()) { if (b.Appointers.Contains(client.Name)) { appointed.Add(b); } } return(appointed); } }
private void Search(int i, string key)//查询方法,i表示具体的排序规则,完成 { List <Book> searchBooks = new List <Book>(); using (var db = new BookShelfContext()) { switch (i) { case 1: //按书号查询 foreach (var book in BookShelfService.AllBooks().Where(o => o.BookId.Contains(key) == true)) { searchBooks.Add(book); } break; case 2: //书名 foreach (var book in BookShelfService.AllBooks().Where(o => o.Name.Contains(key) == true)) { searchBooks.Add(book); } break; case 3: //作者 foreach (var book in BookShelfService.AllBooks().Where(o => o.Author.Contains(key) == true)) { searchBooks.Add(book); } break; case 4: //分类 foreach (var book in BookShelfService.AllBooks().Where(o => o.Sort == key)) { searchBooks.Add(book); } break; case 5: //书架号 foreach (var book in BookShelfService.AllBooks().Where(o => o.BookShelfId == key)) { searchBooks.Add(book); } break; } booksBindingSource.DataSource = new List <Book>(); booksBindingSource.ResetBindings(false); booksBindingSource.DataSource = searchBooks; } }
private static void ClearBooks() { try { using (var db = new BookShelfContext()) { var oldBooks = db.Books.Where(book => book.BookShelfId == null); db.Books.RemoveRange(oldBooks); db.SaveChanges(); } } catch (Exception e) { MessageBox.Show("删除书架错误!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); throw new ApplicationException($"删除书架错误!"); } }
public static void RemoveBookShelf(string id) { try { using (var db = new BookShelfContext()) { var shelf = db.BookShelves.Include("Books").Where(o => o.BookShelfId == id).FirstOrDefault(); db.BookShelves.Remove(shelf); db.SaveChanges(); ClearBooks(); } } catch (Exception e) { MessageBox.Show("删除书架错误!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); throw new ApplicationException($"删除书架错误!"); } }
public static BookShelf AddBookShelf(BookShelf shelf)//添加新的书架 { try { using (var db = new BookShelfContext()) { db.BookShelves.Add(shelf); db.SaveChanges(); MessageBox.Show("已成功添加书架!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } return(shelf); } catch (Exception e) { MessageBox.Show("添加书架错误!" + e.ToString(), "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); throw new ApplicationException($"添加书架错误: {e.Message}"); } }
public static bool AddClient(Client client)//添加新的用户 { try { using (var db = new BookShelfContext()) { db.Clients.Add(client); db.SaveChanges(); MessageBox.Show("已成功注册账号!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } return(true); } catch (Exception e) { MessageBox.Show("注册账号错误!" + e.ToString(), "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); throw new ApplicationException($"添加书架错误: {e.Message}"); } }
private void Query(int i)//排序方法,i表示具体的排序规则,完成 { List <Book> queryBooks = new List <Book>(); using (var db = new BookShelfContext()) { switch (i) { case 1: //默认的按推荐数排序 var query1 = BookShelfService.AllBooks(); var list1 = from t in query1 orderby t.Recommend descending select t; queryBooks = list1.ToList(); break; case 2: //书号 var query2 = BookShelfService.AllBooks(); var list2 = from t in query2 orderby t.BookId ascending select t; queryBooks = list2.ToList(); break; case 3: //作者 var query3 = BookShelfService.AllBooks(); var list3 = from t in query3 orderby t.Author ascending select t; queryBooks = list3.ToList(); break; case 4: //分类 var query4 = BookShelfService.AllBooks(); var list4 = from t in query4 orderby t.BookId ascending select t; queryBooks = list4.ToList(); break; case 5: //书架号 var query5 = BookShelfService.AllBooks(); var list5 = from t in query5 orderby t.BookId ascending select t; queryBooks = list5.ToList(); break; } booksBindingSource.DataSource = new List <Book>(); booksBindingSource.ResetBindings(false); booksBindingSource.DataSource = queryBooks; } }
public static void Check(int year, int month, int day) { using (var db = new BookShelfContext()) { List <Book> allLentBooks = db.Books.Where(o => o.State == "已被借阅").ToList(); foreach (var b in allLentBooks) { String time = b.LendTime; int y = time.IndexOf("年"); int m = time.IndexOf("月"); int d = time.IndexOf("日"); String bookYear = time.Substring(0, y); String bookMonth = time.Substring(y + 1, m - y - 1); String bookDay = time.Substring(m + 1, d - m - 1); Client user = ClientService.AllClients().FirstOrDefault(o => o.Name == b.ClientName); if (Convert.ToInt32(bookYear) == year) { if (Convert.ToInt32(bookMonth) == month) { if (Convert.ToInt32(bookDay) <= day) { ReturnBooks(b, user); } } else if (Convert.ToInt32(bookMonth) < month) { ReturnBooks(b, user); } } else if (Convert.ToInt32(bookYear) < year) { ReturnBooks(b, user); } } } }
public static IQueryable <BookShelf> AllShelves(BookShelfContext db) { return(db.BookShelves.Include(o => o.Books) ); }