public IEnumerable <BookPreviewDto> GetAllBooks() { try { IEnumerable <BookPreviewDto> result; using (var context = new LibraryDatabaseEntities()) { List <BookPreviewDto> listBook = (from b in context.Book select new BookPreviewDto { Isbn = b.ISBN, Book = b.Book_Name, Thumb = string.IsNullOrEmpty(b.Imagen) ? "/Assets/Images/notAvailable.jpg" : b.Imagen, AuthorName = b.Author.Author_Name + " " + b.Author.Author_LastName, Pages = (short)b.Quantity_Page }).ToList <BookPreviewDto>(); result = listBook; } return(result); } catch (Exception) { return(null); } }
/// <summary> /// Add a new book to the database. /// </summary> /// <param name="sender">The details of the new book </param> private void AddNewBook(Book sender) { if (sender.Year == 0 || string.IsNullOrWhiteSpace(sender.BookName) || string.IsNullOrWhiteSpace(sender.Authors) || string.IsNullOrWhiteSpace(sender.Category)) { dialogBox = new DialogBox("FIGYELEM!", "Minden mező kitöltése kötelező!"); dialogBox.Show(); return; } dialogBox = new DialogBox(DialogBoxType.WARNING, "VÉGLEGESÍTÉS!", "Könyv hozzáadása?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } using (var context = new LibraryDatabaseEntities()) { try { context.Books.Add(sender); context.SaveChanges(); BooksDataContext.StoredBooksList.Add(sender); dialogBox = new DialogBox("Hozzáadás sikeres!"); dialogBox.Show(); } catch { dialogBox = new DialogBox("HIBA!", "Hozzáadás nem sikerült!"); dialogBox.Show(); } } ControlDataContext.SelectedBookDetails = sender; }
/// <summary> /// Check if the given library ID exists. /// </summary> /// <param name="e"></param> public void CheckLibID(KeyEventArgs e) { if (string.IsNullOrWhiteSpace(MemberInfo.LibID)) { return; } if (MemberInfo.LibID.Length != 5 || IsRegisterClicked == true) { IsExist = Visibility.Collapsed; return; } using (var context = new LibraryDatabaseEntities()) { var item = context.Members.FirstOrDefault(r => r.LibID.Equals(MemberInfo.LibID)); if (item == null) { dialogBox = new DialogBox("HIBA!", "Azonosító nem található!"); dialogBox.Show(); return; } IsExist = Visibility.Visible; } }
public BooksDataGridViewModel() { using (var context = new LibraryDatabaseEntities()) { var book = context.Books.ToList(); StoredBooksList = new ObservableCollection <Book>(book); } }
public byte[] GetPdf(long isbn) { byte[] result; using (var context = new LibraryDatabaseEntities()) { byte[] pdf = (from b in context.Book where b.ISBN == isbn select b.Doc_Data).SingleOrDefault <byte[]>(); result = pdf; } return(result); }
/// <summary> /// Get every borrowed book of a member. /// </summary> private void SearchMember() { if (string.IsNullOrWhiteSpace(ReturnDataContext.MemberID)) { return; } using (var context = new LibraryDatabaseEntities()) { var item = context.Members.FirstOrDefault(r => r.LibID.Equals(ReturnDataContext.MemberID)); if (item == null) { dialogBox = new DialogBox("HIBA!", "Azonosító nem található!"); dialogBox.Show(); return; } //Reset the list. ReturnDataContext.MemberBooksList = new ObservableCollection <ReturnModel>(); // List of every borrowed book by a member. var books = context.BorrowedBooks.Where(r => r.LibID.Equals(item.ID)).ToList(); // Get the name and the copy code of the borrowed book. foreach (var collection in books) { var bookItem = (from book in context.Books join copies in context.BookCopies on book.ID equals copies.BookID join borrow in context.BorrowedBooks on copies.ID equals borrow.CopyID where copies.ID == collection.CopyID select new { Book = book }).Single(); var copyItem = (from copies in context.BookCopies join borrowed in context.BorrowedBooks on copies.ID equals borrowed.CopyID where copies.ID == collection.CopyID select new { BookCopy = copies }).Single(); ReturnDataContext.MemberBooksList.Add(new ReturnModel { BookName = bookItem.Book.BookName, CopyID = copyItem.BookCopy.BookCode, MemberName = item.FullName, MemberID = item.LibID, ExpDate = collection.ExpDate }); } } }
/// <summary> /// Borrow the books and add the selected books to the borrowed table. /// </summary> private void BorrowBooks() { //Check empty fields if (BorrowDataContext.BorrowedBooksList == null) { dialogBox = new DialogBox("HIBA!", "Nem adott hozzá könyvet!"); dialogBox.Show(); return; } if (BorrowDataContext.IsExpired || BorrowDataContext.IsExist == false) { dialogBox = new DialogBox("HIBA!", "Hibás vagy lejárt azonosító!"); dialogBox.Show(); return; } if (BorrowDataContext.ExpDate < DateTime.Today) { dialogBox = new DialogBox("HIBA!", "Érvénytelen kölcsönzési idő"); dialogBox.Show(); return; } dialogBox = new DialogBox(DialogBoxType.WARNING, "FIGYELEM!", "Művelet megerősítése?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } using (var context = new LibraryDatabaseEntities()) { foreach (var item in BorrowDataContext.BorrowedBooksList) { context.BorrowedBooks.Add(new BorrowedBook { LibID = BorrowDataContext.LibID, ExpDate = BorrowDataContext.ExpDate, CopyID = item.CopyID }); var bookCopies = context.BookCopies.FirstOrDefault(r => r.ID == item.CopyID); bookCopies.IsBorrowed = true; } context.SaveChanges(); dialogBox = new DialogBox("Kölcsönzés sikeres!"); dialogBox.Show(); // Reset the properties and list. BorrowDataContext.BorrowedBooksList = new ObservableCollection <BorrowModel>(); BorrowDataContext.BookID = ""; BorrowDataContext.MemberID = ""; } }
/// <summary> /// Get the details about the selected book and displays on the ControlPanel.xaml. /// </summary> /// <param name="sender"> The selected book </param> private void GetDetails(Book sender) { ControlDataContext.DetailsList = new ObservableCollection <DetailsModel>(); using (var context = new LibraryDatabaseEntities()) { var item = context.BookCopies.Where(r => r.BookID.Equals(sender.ID)).ToList(); foreach (var query in item) { ControlDataContext.DetailsList.Add(new DetailsModel { BookCode = query.BookCode, IsAvailable = query.IsBorrowed == false ? "Igen" : "Nem" }); } } ControlDataContext.SelectedBookDetails = sender; }
/// <summary> /// Add a book to the ReturnedBooksList. /// </summary> private void ReturnBook() { if (string.IsNullOrWhiteSpace(ReturnDataContext.ReturnBookCode)) { return; } //Prevent duplicates. var item = ReturnDataContext.ReturnedBooksList.FirstOrDefault(r => r.CopyID.Equals(ReturnDataContext.ReturnBookCode)); if (item != null) { return; } using (var context = new LibraryDatabaseEntities()) { try { //#1: Book copy details. var bookCopy = context.BookCopies.FirstOrDefault(r => r.BookCode.Equals(ReturnDataContext.ReturnBookCode)); //#2: Book title. var bookTitle = context.Books.FirstOrDefault(r => r.ID.Equals(bookCopy.BookID)); //#3: Borrow details. var borrowed = context.BorrowedBooks.FirstOrDefault(r => r.CopyID.Equals(bookCopy.ID)); //#4: Member details var member = context.Members.FirstOrDefault(r => r.ID.Equals(borrowed.LibID)); ReturnDataContext.ReturnedBooksList.Add(new ReturnModel() { BookName = bookTitle.BookName, CopyID = bookCopy.BookCode, ExpDate = borrowed.ExpDate, MemberName = member.FullName, MemberID = member.LibID }); } catch { dialogBox = new DialogBox("HIBA!", "Nincs ilyen kiadott könyv!"); dialogBox.Show(); } } }
/// <summary> /// Return the borrowed books to the library and remove them from the borrowed table. /// </summary> private void ReturnBooks() { if (ReturnDataContext.ReturnedBooksList.Count == 0) { return; } dialogBox = new DialogBox(DialogBoxType.WARNING, "FIGYELEM!", "Biztos visszaadja a könyveket?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } using (var context = new LibraryDatabaseEntities()) { try { foreach (var item in ReturnDataContext.ReturnedBooksList) { var returnBook = (from borrowed in context.BorrowedBooks join copies in context.BookCopies on borrowed.CopyID equals copies.ID where copies.BookCode == item.CopyID select new { BorrowedBook = borrowed }).Single().BorrowedBook; context.BorrowedBooks.Remove(returnBook); } context.SaveChanges(); dialogBox = new DialogBox("Könyvek visszaadása sikeres!"); dialogBox.Show(); ReturnDataContext.ReturnedBooksList = new ObservableCollection <ReturnModel>(); ReturnDataContext.MemberBooksList = new ObservableCollection <ReturnModel>(); } catch { dialogBox = new DialogBox("HIBA!", "Hiba a művelet közben!"); dialogBox.Show(); } } }
public IEnumerable <Author> GetAllAuthor() { IEnumerable <Author> result; try { using (var context = new LibraryDatabaseEntities()) { List <Author> listAutho = (from c in context.Author select c).ToList <Author>(); result = listAutho; } } catch (Exception ex) { Trace.TraceError(ex.Message); result = null; } return(result); }
public IEnumerable <Category> GetAllCategory() { IEnumerable <Category> result; try { using (var context = new LibraryDatabaseEntities()) { List <Category> listCat = (from c in context.Category select c).ToList <Category>(); result = listCat; } } catch (Exception ex) { Trace.TraceError(ex.Message); result = null; } return(result); }
public IEnumerable <BookPreviewDto> GetBookByCategory(long id) { IEnumerable <BookPreviewDto> result; using (var context = new LibraryDatabaseEntities()) { List <BookPreviewDto> listCat = (from b in context.Book_ByCategory where b.Category.Id_Category.Equals(id) select new BookPreviewDto { AuthorName = b.Book.Author.Author_Name + " " + b.Book.Author.Author_LastName, Book = b.Book.Book_Name, Isbn = b.Book.ISBN, Pages = (short)b.Book.Quantity_Page, Thumb = string.IsNullOrEmpty(b.Book.Imagen) ? "/Assets/Images/notAvailable.jpg" : b.Book.Imagen }).ToList <BookPreviewDto>(); result = listCat; } return(result); }
/// <summary> /// Add a book to the borrow list. /// </summary> private void AddBookEvent() { // Check if code exist. using (var context = new LibraryDatabaseEntities()) { var item = context.BookCopies.FirstOrDefault(r => r.BookCode.Equals(BorrowDataContext.BookID)); if (item != null) { // Prevent duplicates. var isDuplicated = BorrowDataContext.BorrowedBooksList.FirstOrDefault(r => r.CopyID.Equals(item.ID)); if (isDuplicated != null) { return; } // Check if it's already borrowed. var isBorrowed = context.BorrowedBooks.FirstOrDefault(r => r.CopyID == item.ID); if (isBorrowed != null) { dialogBox = new DialogBox("HIBA!", "Ez a könyv nem kölcsönözhető!"); dialogBox.Show(); return; } // Add the copy to the borrow list. var book = context.Books.FirstOrDefault(r => r.ID.Equals(item.BookID)); BorrowDataContext.BorrowedBooksList.Add(new BorrowModel() { CopyID = item.ID, BookCode = BorrowDataContext.BookID, BookName = book.BookName }); } else { dialogBox = new DialogBox("HIBA!", "A megadott könyv nem található!"); dialogBox.Show(); } } }
public IEnumerable <BookPreviewDto> GetBookByAuthor(string[] author) { if (author.Length < 1) { throw new Exception("You need to provide an Author"); } IEnumerable <BookPreviewDto> result; using (var context = new LibraryDatabaseEntities()) { List <BookPreviewDto> listAuthor = (from b in context.Book_ByCategory where author.Any((string item) => b.Book.Author.Author_Name.ToLower().Contains(item.ToLower())) || author.Any((string item) => b.Book.Author.Author_LastName.ToLower().Contains(item.ToLower())) select new BookPreviewDto { AuthorName = b.Book.Author.Author_Name + " " + b.Book.Author.Author_LastName, Book = b.Book.Book_Name, Isbn = b.Book.ISBN, Pages = (short)b.Book.Quantity_Page, Thumb = string.IsNullOrEmpty(b.Book.Imagen) ? "/Assets/Images/notAvailable.jpg" : b.Book.Imagen }).ToList <BookPreviewDto>(); result = listAuthor; } return(result); }
public IEnumerable <BookPreviewDto> GetBookByCategory(string category) { if (string.IsNullOrEmpty(category)) { throw new Exception("You need to provide a category"); } IEnumerable <BookPreviewDto> result; using (var context = new LibraryDatabaseEntities()) { List <BookPreviewDto> listCat = (from b in context.Book_ByCategory where b.Category.Category_Name.Contains(category.Trim()) select new BookPreviewDto { AuthorName = b.Book.Author.Author_Name + " " + b.Book.Author.Author_LastName, Book = b.Book.Book_Name, Isbn = b.Book.ISBN, Pages = (short)b.Book.Quantity_Page, Thumb = string.IsNullOrEmpty(b.Book.Imagen) ? "/Assets/Images/notAvailable.jpg" : b.Book.Imagen }).ToList <BookPreviewDto>(); result = listCat; } return(result); }
public SqlPublisherManager(LibraryDatabaseEntities dbexist) { db = dbexist; }
public SqlPublisherManager() { db = new LibraryDatabaseEntities(); }
/// <summary> /// Add the copies to the database. /// </summary> private void AddNewCopies() { if (ControlDataContext.SelectedBookDetails == null) { return; } foreach (var item in ControlDataContext.CopiesList) { if (item.BookCode.Length != 6) { dialogBox = new DialogBox("HIBA!", "Hibásan kitöltött mező!"); dialogBox.Show(); return; } } dialogBox = new DialogBox(DialogBoxType.WARNING, "FIGYELEM!", "Hozzáadja a másolatokat?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } using (var context = new LibraryDatabaseEntities()) { foreach (var item in ControlDataContext.CopiesList) { var bookCopy = new BookCopy { BookCode = item.BookCode.ToUpper(), BookID = ControlDataContext.SelectedBookDetails.ID }; context.BookCopies.Add(bookCopy); } try { context.SaveChanges(); } catch { dialogBox = new DialogBox("HIBA!", "Már létezik ilyen azonosító!\nHozzáadás nem lehetséges!"); dialogBox.Show(); return; } // Calculate the new value of the available copies. short count = (short)context.BookCopies.Count(t => t.BookID == ControlDataContext.SelectedBookDetails.ID); var books = context.Books.FirstOrDefault(r => r.ID == ControlDataContext.SelectedBookDetails.ID); books.BookCopies = count; context.SaveChanges(); //Update thhe copies column acording to the new value. BooksDataContext.StoredBooksList .Where(r => r.ID == ControlDataContext.SelectedBookDetails.ID) .Select(n => { n.BookCopies = count; return(n); }).ToList(); } }
public SqlMemberManager() { db = new LibraryDatabaseEntities(); }
public SqlBookManager() { db = new LibraryDatabaseEntities(); }
/// <summary> /// Register a new member or expand the membership. /// </summary> private void RegisterMember() { if (IsRegisterClicked && !IsValidFields()) { dialogBox = new DialogBox("HIBA!", "Helytelenül kitöltött Mezők!"); dialogBox.Show(); return; } if (IsEnabled == Visibility.Visible) { dialogBox = new DialogBox(DialogBoxType.WARNING, "FIGYELEM!", "Regisztrálja az új tagot?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } // Register a new member. using (var context = new LibraryDatabaseEntities()) { try { var item = DateTime.Today; item = item.AddMonths(int.Parse(MembershipLength)); MemberInfo.ExpData = item; MemberInfo.LibID = MemberInfo.LibID.ToUpper(); context.Members.Add(MemberInfo); context.SaveChanges(); dialogBox = new DialogBox("Sikeres regisztráció!"); dialogBox.Show(); } catch { dialogBox = new DialogBox("HIBA!", "Művelet sikertelen!"); dialogBox.Show(); return; } } } else { dialogBox = new DialogBox(DialogBoxType.WARNING, "FIGYELEM!", "Tagság meghosszabítása?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } // Expand the membership of an existing member. using (var context = new LibraryDatabaseEntities()) { var item = context.Members.FirstOrDefault(r => r.LibID.Equals(MemberInfo.LibID)); if (item == null) { dialogBox = new DialogBox("HIBA!", "Nem található ilyen felhasználó!"); dialogBox.Show(); return; } //Expand membership. try { var dateCurrent = item.ExpData; item.ExpData = dateCurrent.AddMonths(int.Parse(MembershipLength)); context.SaveChanges(); dialogBox = new DialogBox("SIKER!", "Tagság sikeresen meghosszabbítva!"); dialogBox.Show(); } catch { dialogBox = new DialogBox("HIBA!", "Művelet sikertelen!"); dialogBox.Show(); } } } }
public SqlAuthorManager() { db = new LibraryDatabaseEntities(); }