private void btnCheckCondition_Click(object sender, EventArgs e)
 {
     if (txtCopyNumber.Text != "")
     {
         if (CopyDAO.CheckCondition(int.Parse(txtCopyNumber.Text)) == 0)
         {
             MessageBox.Show("This book is available.");
             btnBorrow.Enabled = true;
         }
         else if (CopyDAO.CheckCondition(int.Parse(txtCopyNumber.Text)) == 2)
         {
             if (ReservationDAO.GetFirstReservation(CopyDAO.GetCopy(int.Parse(txtCopyNumber.Text)).BookNumber).MemberNumber
                 == int.Parse(txtMemberCode.Text))
             {
                 check = 1;
                 MessageBox.Show("This copy is available.");
                 btnBorrow.Enabled = true;
             }
             else
             {
                 MessageBox.Show("This copy is not available.");
             }
         }
         else
         {
             display(2);
             MessageBox.Show("Copy Number is invalid or This book is not available.");
         }
     }
     else
     {
         MessageBox.Show("Copy Code can not be blank.");
     }
 }
示例#2
0
        private errorBorrow checkCondition(int borrowerNumber, int copyNumber, out Copy c, out Reservation r)
        {
            c = null;
            r = null;


            c = CopyDAO.GetCopy(copyNumber);
            if (c == null)
            {
                return(errorBorrow.CopyNotExist);
            }
            if (c.Type == 'A')
            {
                return(errorBorrow.CopyReferenced);
            }
            if (c.Type == 'B')
            {
                return(errorBorrow.CopyBorrowed);
            }

            // Check if this book is reserved by others and you are not at the first of the reservation list
            int bookNumber = c.BookNumber;

            r = ReserveDAO.GetFirstReservation(bookNumber);
            if (r != null && r.BorrowerNumber != borrowerNumber)
            {
                return(errorBorrow.CopyReserved);
            }

            return(errorBorrow.OK);
        }
        private void btnReturn_Click(object sender, EventArgs e)
        {
            CirculatedCopy cc = new CirculatedCopy();

            cc.CirculatedCopyId = Convert.ToInt32(dgvBorrowedBooks.Rows[rowIndex].Cells["circulatedCopyId"].Value);
            cc.ReturnedDate     = dtpReturnedDate.Value;
            cc.FineAmount       = double.Parse(txtFineAmount.Text);
            CirculatedCopyDAO.Update(cc);

            Copy c = CopyDAO.GetCopy(Convert.ToInt32(dgvBorrowedBooks.Rows[rowIndex].Cells["copyNumber"].Value));

            if (ReservationDAO.GetFirstReservation(c.BookNumber) != null)
            {
                c.Type = 2;
            }
            else
            {
                c.Type = 0;
            }
            CopyDAO.UpdateType(c);

            view(int.Parse(txtMemberCode.Text));
            MessageBox.Show("Return Successful.");
            btnReturn.Enabled      = false;
            txtFineAmount.Text     = "";
            btnConfirmFine.Enabled = false;
        }
示例#4
0
        private void Return(CirculatedCopy cc)
        {
            CirculatedCopyDAO.Update(cc);
            Copy c = CopyDAO.GetCopy(cc.CopyNumber);

            // update type = 'A' in copy
            c.Type = 'A';
            CopyDAO.Update(c);
        }
示例#5
0
        private void dgvCopies_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            display(4);
            Copy c = CopyDAO.GetCopy(Convert.ToInt32(dgvCopies.Rows[e.RowIndex].Cells["copyNumber"].Value));

            txtCopyNumber.Text     = c.CopyNumber.ToString();
            txtSequenceNumber.Text = c.SequenceNumber.ToString();
            txtType.Text           = c.Type.ToString();
            txtPrice.Text          = c.Price.ToString();
        }
示例#6
0
        private void Return(CirculatedCopy cc)
        {
            CirculatedCopyDAO.Update(cc);

            Copy c = CopyDAO.GetCopy(cc.CopyNumber);

            // if copy is reference
            if (c.Type == 'R')
            {
                return;
            }
            // update type = 'A' in copy
            c.Type = 'A';
            CopyDAO.Update(c);
        }
示例#7
0
        protected void btnBorrow_Click(object sender, EventArgs e)
        {
            DateTime receiveDate = Calendar1.SelectedDate;
            DateTime dueDate     = Calendar1.SelectedDate.AddDays(14);

            CirculatedCopy cc = new CirculatedCopy(int.Parse(txtCopyNumber.Text), int.Parse(txtBorrowerNumber.Text),
                                                   receiveDate, dueDate);

            c = CopyDAO.GetCopy(int.Parse(txtCopyNumber.Text));
            r = r = ReserveDAO.GetFirstReservation(c.BookNumber);
            borrow(cc, c, r);

            showData();
            displayButtons(1);
        }
        private void Return(CirculatedCopy cc)
        {
            if (CirculatedCopyDAO.Update(cc))
            {
                showMessageError("Return completed <3");

                Copy c = CopyDAO.GetCopy(cc.CopyNumber);

                // update type = 'A' in copy
                c.Type = 'A';
                CopyDAO.Update(c);
            }
            else
            {
                showMessageError("Return Fail :<");
            }
        }
        private void btnBorrow_Click(object sender, EventArgs e)
        {
            if (dtpBorrowed.Value < dtpDue.Value)
            {
                CirculatedCopy cc = new CirculatedCopy();
                cc.CopyNumber   = int.Parse(txtCopyNumber.Text);
                cc.MemberNumber = int.Parse(txtMemberCode.Text);
                cc.BorrowedDate = dtpBorrowed.Value;
                cc.DueDate      = dtpDue.Value;

                if (CirculatedCopyDAO.Add(cc))
                {
                    Copy c = CopyDAO.GetCopy(int.Parse(txtCopyNumber.Text));
                    c.Type = 1;
                    CopyDAO.UpdateType(c);
                    display(2);
                    view(int.Parse(txtMemberCode.Text));
                    MessageBox.Show("Add Successful.");

                    if (check == 1)
                    {
                        Reservation r = ReservationDAO.GetFirstReservation(c.BookNumber);
                        r.Status = true;
                        ReservationDAO.UpdateStatus(r);
                    }

                    if (dgvBorrowedBooks.Rows.Count >= 5)
                    {
                        display(0);
                        MessageBox.Show("The number of borrowed books is 5. You can not borrow anymore book.");
                    }
                }
                else
                {
                    MessageBox.Show("Error.");
                }
            }
            else
            {
                MessageBox.Show("Borrowed date has to be smaller than Due date.");
            }
        }
示例#10
0
        private void borrow(CirculatedCopy cc, Copy c, Reservation r)
        {
            // Insert borrow record
            if (cc == null)
            {
                return;
            }
            CirculatedCopyDAO.Insert(cc);

            // update type = 'B' at Copy
            c      = CopyDAO.GetCopy(Int32.Parse(txtCopyNumber.Text));
            c.Type = 'B';
            CopyDAO.Update(c);


            // update status = 'A' at Reservation
            if (r == null)
            {
                return;
            }
            r.Status = 'A';
            ReserveDAO.Update(r);
        }