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);
     }
 }
Example #2
0
        /// <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;
        }
Example #3
0
        /// <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;
            }
        }
Example #4
0
 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);
 }
Example #6
0
        /// <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
                    });
                }
            }
        }
Example #7
0
        /// <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          = "";
            }
        }
Example #8
0
 /// <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;
 }
Example #9
0
        /// <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();
                }
            }
        }
Example #10
0
        /// <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);
        }
Example #14
0
        /// <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);
        }
Example #17
0
 public SqlPublisherManager(LibraryDatabaseEntities dbexist)
 {
     db = dbexist;
 }
Example #18
0
 public SqlPublisherManager()
 {
     db = new LibraryDatabaseEntities();
 }
Example #19
0
        /// <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();
            }
        }
Example #20
0
 public SqlMemberManager()
 {
     db = new LibraryDatabaseEntities();
 }
Example #21
0
 public SqlBookManager()
 {
     db = new LibraryDatabaseEntities();
 }
Example #22
0
        /// <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();
                    }
                }
            }
        }
Example #23
0
 public SqlAuthorManager()
 {
     db = new LibraryDatabaseEntities();
 }