Esempio n. 1
0
        /// <summary>
        /// This calls on the dao to get the results depending on the mode we are currently in
        /// </summary>
        /// <param name="mode"></param>
        /// <param name="value"></param>
        public void Search(Constants.SearchMode mode, string value)
        {
            MainForm main = (MainForm)this.ParentForm.MdiParent;
            BookDAO  dao  = new BookDAO(main.CurrentDatabase.FullName);

            this.gridBooks.DataSource = dao.SearchBooks(_mode, mode, value).Tables[0];
        }
Esempio n. 2
0
 public Item(string name, Constants.SearchMode value)
 {
     _name  = name;
     _value = value;
 }
 public Item(string name, Constants.SearchMode value)
 {
     _name = name;
     _value = value;
 }
Esempio n. 4
0
        /// <summary>
        /// Dynamically builds the query for a search on the book_data view
        /// </summary>
        /// <param name="libMode"></param>
        /// <param name="searchMode"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public DataSet SearchBooks(Constants.LibraryMode libMode, Constants.SearchMode searchMode, string value)
        {
            string baseQuery = "";

            switch (libMode)
            {
            case Constants.LibraryMode.LIBRARY:
                baseQuery = SQL.Book.SELECT_LIBRARY;
                break;

            case Constants.LibraryMode.LOANEDBOOKS:
                baseQuery = SQL.Book.SELECT_LOANED_BOOKS;
                break;

            case Constants.LibraryMode.WISHLIST:
                baseQuery = SQL.Book.SELECT_WISHLIST;
                break;

            case Constants.LibraryMode.LOANHISTORY:
                baseQuery = SQL.Book.SELECT_LOAN_RECORDS;
                break;
            }

            switch (searchMode)
            {
            case Constants.SearchMode.NONE:
                //DO NOTHING
                break;

            case Constants.SearchMode.AUTHOR_LAST:
                baseQuery += this.like("last_name", value);
                break;

            case Constants.SearchMode.AUTHOR_FIRST:
                baseQuery += this.like("first_name", value);
                break;

            case Constants.SearchMode.TITLE:
                baseQuery += this.like("short_title", value);
                break;

            case Constants.SearchMode.ISBN:
                baseQuery += this.like("isbn", value);
                break;

            case Constants.SearchMode.SUBJECT:
                baseQuery += this.like("subject", value);
                break;

            case Constants.SearchMode.PUBLISHER:
                baseQuery += this.like("publisher_info", value);
                break;

            case Constants.SearchMode.BOOK_ID:
                baseQuery += this.equal("id", value);
                break;
            }

            switch (searchMode)
            {
            case Constants.SearchMode.SUBJECT:
                //no group by clause
                break;

            case Constants.SearchMode.BOOK_ID:
                //book_id is only used when getting loan records
                baseQuery += " GROUP BY loan_id";
                break;

            default:
                baseQuery += " GROUP BY id";
                break;
            }

            return(this.ExecuteQuery(baseQuery, null));
        }