protected void Page_Load(object sender, EventArgs e)
    {
        _copyBarcode       = Request.QueryString["barcode"];
        _isNew             = Convert.ToBoolean(Request.QueryString["isNew"]);
        _isbn              = Request.QueryString["isbn"];
        txtBarcode.Enabled = false;
        if (!Page.IsPostBack)
        {
            FillDropDowns();
            if (_copyBarcode != null)
            {
                var bookCopyCollection = new BookCopyCollection();

                if (bookCopyCollection.BookCopy.Find(_copyBarcode))
                {
                    DisplayCopyDetails(bookCopyCollection.BookCopy);
                }
            }

            if (_isNew)
            {
                var idGen = new IdGenerator();
                txtBarcode.Text = idGen.BookCopy();
            }
        }
    }
Beispiel #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        _isbn       = Request.QueryString["isbn"];
        _borrowerId = Session["user"].ToString();
        if (!string.IsNullOrEmpty(_isbn))
        {
            var book = new Book();
            book.Find(_isbn);
            lblIsbn.Text      = book.Isbn;
            lblTitle.Text     = book.Title;
            lblAuthor.Text    = book.Author;
            lblPublisher.Text = book.Publisher;
            lblPubYear.Text   = book.PubYear;
            lblEdition.Text   = book.Edition.ToString();
            lblGenre.Text     = book.GetGenreDescription(book.GenreCode);



            var bookCopies = new BookCopyCollection(_isbn).BookCopies;
            var loans      = new LoanCollection();
            loans.FilterActiveLoansByIsbn(_isbn);
            DataTable copyDisplay = new DataTable();
            var       list        = loans.LoanList;
            copyDisplay.Columns.Add("Barcode", typeof(string));
            copyDisplay.Columns.Add("Shelf", typeof(string));
            copyDisplay.Columns.Add("LoanType", typeof(string));
            copyDisplay.Columns.Add("Status", typeof(string));
            List <bool> copyAvailability = new List <bool>();
            int         copiesAvailable  = 0;
            foreach (var bookCopy in bookCopies)
            {
                DataRow row = copyDisplay.NewRow();
                row["Barcode"]  = bookCopy.Barcode;
                row["Shelf"]    = book.ShelfNo;
                row["LoanType"] = bookCopy.LoanType;
                var activeLoan =
                    loans.LoanList.Find(loan => loan.CopyBarcode.Trim() == bookCopy.Barcode.Trim());
                var isReservable = activeLoan != null;
                row["Status"] = !isReservable
                    ? "Available"
                    : activeLoan.LoanDueDate < DateTime.Now
                        ? $"Overdue (was due back {activeLoan.LoanDueDate.ToString("d MMMM")})"
                        : $"Due on {activeLoan.LoanDueDate.ToString("d MMMM yyyy")}";
                copyDisplay.Rows.Add(row);
                copiesAvailable += !isReservable ? 1 : 0;
                copyAvailability.Add(isReservable && bookCopy.LoanType.Contains("Normal"));
            }

            btnReserve.Enabled = copyAvailability.Exists(available => available) && copyDisplay.Rows.Count != 0;

            btnReserve.Text = copyAvailability.Exists(available => available) && copyDisplay.Rows.Count != 0
                ? "Reserve"
                : "Not Reservable";
            lblAvailableCopy.Text    = $"{copiesAvailable} copy/copies available at {book.ShelfNo}";
            rptBookCopies.DataSource = copyDisplay;
            rptBookCopies.DataBind();
        }
    }
Beispiel #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        _bookIsbn = Request.QueryString["isbn"];


        if (_bookIsbn != null)
        {
            GetBookDetails(_bookIsbn);
            var copies = new BookCopyCollection();
            copies.FilterCopiesByIsbn(_bookIsbn);
            rptBookCopy.DataSource = copies.BookCopies;
            rptBookCopy.DataBind();
        }
    }
Beispiel #4
0
    protected void HandlerDeleteBookCopy(object sender, EventArgs e)
    {
        var source = sender as Button;
        var copies = new BookCopyCollection();

        if (source != null)
        {
            var barcode = source.CommandArgument;

            if (copies.BookCopy.Find(barcode))
            {
                copies.Delete(barcode);
                rptBookCopy.DataBind();
            }
        }
    }
    protected void HandlerSaveBookCopy(object sender, EventArgs e)
    {
        var copies    = new BookCopyCollection();
        var copy      = copies.BookCopy;
        var copyCheck = new BookCopy();


        bool isThere = copyCheck.Find(txtBarcode.Text);

        copy.Barcode   = txtBarcode.Text;
        copy.Barcode   = txtBarcode.Text;
        copy.LoanType  = ddlLoanType.SelectedValue;
        copy.Status    = ddlStatus.SelectedValue;
        copy.Condition = ddlCondition.SelectedValue;
        copy.CopyIsbn  = _isbn;



        if (_isNew && !isThere)
        {
            copies.Add();
        }
        else if (isThere && _isNew)
        {
            //Display Error
            ScriptManager.RegisterStartupScript(
                this,
                typeof(Page),
                "Alert",
                "<script>alert('Barcode already exists.');</script>",
                false);
        }
        else
        {
            copies.Update();
        }
    }