public bool RegistrationAdd(Registration reg, string password)
        {
            try
            {
                bool flag = false;
                LibraryManagementEntities context = new LibraryManagementEntities();

                var query = from data in context.Registrations
                            where data.Student_Number == reg.Student_Number
                            select data;

                if (query.Any())
                {
                    throw new Exception("Record Already Exist");
                }
                else
                {
                    Login login = new Login();
                    login.Login_ID = reg.Student_Number.ToString();
                    login.Password = password;
                    context.Registrations.Add(reg);
                    context.Logins.Add(login);
                    context.SaveChanges();
                    flag = true;
                }
                return(flag);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public bool UpdateBook(Book book)
        {
            try
            {
                bool flag = false;
                LibraryManagementEntities context = new LibraryManagementEntities();

                var query = (from data in context.Books
                             where data.Book_Number == book.Book_Number
                             select data).FirstOrDefault();

                query.Book_Name   = book.Book_Name;
                query.Author      = book.Author;
                query.Publication = book.Publication;
                query.Quantity    = book.Quantity;
                query.Category_ID = book.Category_ID;

                context.SaveChanges();
                flag = true;

                return(flag);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public bool AddNewBook(Book book)
        {
            try
            {
                bool flag = false;
                LibraryManagementEntities context = new LibraryManagementEntities();

                var query = from data in context.Books
                            where data.Book_Number == book.Book_Number
                            select data;

                if (query.Any())
                {
                    throw new Exception("Record Already Exist");
                }
                else
                {
                    context.Books.Add(book);
                    context.SaveChanges();
                    flag = true;
                }
                return(flag);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public bool DeleteBook(int bookNumber)
        {
            LibraryManagementEntities context = new LibraryManagementEntities();
            bool flag = false;

            var query = (from data in context.Books
                         where data.Book_Number == bookNumber
                         select data).FirstOrDefault();

            context.Books.Remove(query);
            context.SaveChanges();
            flag = true;

            return(flag);
        }
        public bool DeleteBookIssues(int studentID, int bookNumber)
        {
            LibraryManagementEntities context = new LibraryManagementEntities();
            bool flag = false;

            var query = (from data in context.Books
                         where data.Book_Number == bookNumber
                         select data).FirstOrDefault();
            int quantity = query.Quantity;

            query.Quantity = quantity + 1;

            var deleteQuery = (from data in context.BookIssues
                               where data.Student_Number == studentID && data.Book_Number == bookNumber
                               select data).FirstOrDefault();

            context.BookIssues.Remove(deleteQuery);
            context.SaveChanges();
            flag = true;

            return(flag);
        }
        public bool NewBookIssue(BookIssue book)
        {
            try
            {
                bool flag = false;
                LibraryManagementEntities context = new LibraryManagementEntities();

                var query = (from data in context.Books
                             where data.Book_Number == book.Book_Number
                             select data).FirstOrDefault();
                int quantity = query.Quantity;
                query.Quantity = quantity - 1;
                context.BookIssues.Add(book);
                context.SaveChanges();
                flag = true;

                return(flag);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }