Esempio n. 1
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            int rowIdx = dgvMember.CurrentRow.Index;

            Book book;

            book.ID     = Convert.ToInt32(dgvMember.CurrentRow.Cells[0].Value);
            book.Name   = dgvMember[1, rowIdx].Value.ToString();
            book.Author = dgvMember[2, rowIdx].Value.ToString();

            //학생정보를 수정폼에 전달해서 오픈
            frmBookIns frm = new frmBookIns(OpenMode.Update);

            frm.BookInfo = book; //set
            if (frm.ShowDialog() == DialogResult.OK)
            {
                //변경된 학생정보를 DB에 수정
                BookDB db     = new BookDB();
                bool   result = db.Update(frm.BookInfo); //get
                db.Dispose();

                if (result)
                {
                    //MessageBox.Show("수정되었습니다.");
                    //재조회
                    LoadData();
                }
                else
                {
                    MessageBox.Show("다시 수정을 시도하여 주십시오.");
                }
            }
        }
Esempio n. 2
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            int rowIndex = dataGridView1.CurrentRow.Index;

            Book bk;

            bk.BookID    = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
            bk.BookName  = dataGridView1[1, rowIndex].Value.ToString(); //위와 같지만 다른 방법
            bk.Author    = dataGridView1[2, rowIndex].Value.ToString();
            bk.Publisher = dataGridView1[3, rowIndex].Value.ToString();
            bk.BookImage = null;

            frmBookInsUp frm = new frmBookInsUp(frmBookInsUp.OpenMode.Update);

            frm.bookInfo = bk;
            if (frm.ShowDialog() == DialogResult.OK)
            {
                Book   book   = frm.bookInfo;
                BookDB bookdb = new BookDB();
                bool   result = bookdb.Update(book);
                bookdb.Dispose();
                if (result)
                {
                    MessageBox.Show("추가되었습니다.");
                    LoadData();
                }
                else
                {
                    MessageBox.Show("다시 시도하여 주십시오.");
                }
            }
        }
Esempio n. 3
0
        private void SavePahtImage()
        {
            string sPath        = $"BookImage/{bookId}";
            string localFile    = pictureBox1.Tag.ToString();
            string sExt         = localFile.Substring(localFile.LastIndexOf("."));
            string newFileName  = DateTime.Now.ToString("yyyyMMddHHmmssfff") + sExt;
            string destFileName = Path.Combine(sPath, newFileName);

            textBox2.Text = destFileName;
            DirectoryInfo dir = new DirectoryInfo(sPath);

            if (!dir.Exists)
            {
                dir.Create();
            }

            File.Copy(localFile, destFileName, true);
            BookDB db      = new BookDB();
            bool   bResult = db.AddBookImage(bookId, destFileName);

            if (bResult)
            {
                MessageBox.Show("이미지 추가가 완료되었습니다.");
                //textBox2.Text = newFileName;
            }
            else
            {
                MessageBox.Show("이미지 저장에 실패했습니다. 다시 시도하여 주십시오.");
            }
        }
        private void LoadData()
        {
            BookDB    db = new BookDB();
            DataTable dt = db.GetAllData();

            db.Dispose();
            dgvMember.DataSource = dt;
        }
Esempio n. 5
0
        public void LoadData()
        {
            BookDB    bookdb = new BookDB();
            DataTable dt     = bookdb.GetAllData();

            bookdb.Dispose();
            dataGridView1.DataSource = dt;
        }
Esempio n. 6
0
        /// <summary>
        /// 도서예약
        /// </summary>
        /// <param name="stuid">학번</param>
        /// <param name="bookid">도서번호</param>
        /// <returns>예약성공여부</returns>
        public bool ReserveBook(int stuid, int bookid)
        {
            //유효성체크
            //학번이 유효한지, 도서번호가 유효한지, 대여가능한지, 예약상태인지
            //대여한 학생이 또 예약하는 것은 현재 허용
            StudentDB stu = new StudentDB();

            if (!stu.IsValid(stuid))
            {
                throw new Exception("유효한 학번이 아닙니다.");
            }
            stu.Dispose();

            BookDB bk = new BookDB();

            if (!bk.IsValid(bookid))
            {
                throw new Exception("유효한 도서가 아닙니다.");
            }
            else if (!bk.IsLended(bookid))
            {
                throw new Exception("대여 가능한 도서입니다.");
            }
            else
            {
                if (bk.IsReserved(bookid))
                {
                    throw new Exception("이미 예약된 도서입니다.");
                }
                bk.Dispose();

                try
                {
                    MySqlCommand cmd = new MySqlCommand();
                    cmd.CommandText = "update book set reservestuid = @reservestuid where bookid = @bookid";
                    cmd.Connection  = conn;

                    cmd.Parameters.Add("@reservestuid", MySqlDbType.Int32);
                    cmd.Parameters["@reservestuid"].Value = stuid;

                    cmd.Parameters.Add("@bookid", MySqlDbType.Int32);
                    cmd.Parameters["@bookid"].Value = bookid;

                    cmd.ExecuteNonQuery();
                    return(true);
                }
                catch (Exception err)
                {
                    throw err;
                    //return false; //도달하지 않는 코드
                }
            }
        }
Esempio n. 7
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            BookDB db     = new BookDB();
            int    bookID = int.Parse(txtBookid.Text);

            //유효성체크
            // 1. 입력한 도서번호가 유효한 도서번호인지 체크
            if (!db.IsValid(bookID))
            {
                MessageBox.Show("도서가 존재하지 않습니다.");
            }

            // 2. 대여중인 도서인지 체크

            else if (db.IsLended(bookID))
            {
                MessageBox.Show("대여중인 도서입니다.");
            }


            // 3. 대여가능하지만 예약한 학번이 입력한 학번인지 체크

            else
            {
                int stuid = int.Parse(txtStudentid.Text);
                //예약한 학번 조회 (0 또는 이미 예약한 학번)
                int reserveStuid = db.GetReserveStuId(bookID);
                if (reserveStuid > 0 && reserveStuid != stuid)
                {
                    MessageBox.Show("이미 예약된 도서입니다.");
                }
                else
                {
                    //입력된 도서를 대여목록(ListBox)에 추가한다
                    Book curBook = db.GetBookInfo(bookID);
                    lstLendBook.Items.Add($"{curBook.BookID} / {curBook.BookName} / {curBook.Author} / {curBook.Publisher}");
                    txtBookid.Text = "";
                }
            }

            db.Dispose();
        }
Esempio n. 8
0
        private void button2_Click(object sender, EventArgs e)
        {
            frmBookInsUp frm = new frmBookInsUp(frmBookInsUp.OpenMode.Insert);

            if (frm.ShowDialog() == DialogResult.OK)
            {
                Book   book   = frm.bookInfo;
                BookDB bookdb = new BookDB();
                bool   result = bookdb.Insert(book);
                bookdb.Dispose();
                if (result)
                {
                    MessageBox.Show("추가 되었습니다.");
                    LoadData();
                }
                else
                {
                    MessageBox.Show("다시 시도하여 주십시오.");
                }
            }
        }
Esempio n. 9
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            int    rowIndex = dataGridView1.CurrentRow.Index;
            string bookname = dataGridView1[1, rowIndex].Value.ToString();

            if (MessageBox.Show($"{bookname}의 정보를 삭제하시겠습니까?", "삭제확인", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                int    bookID = (int)dataGridView1[0, dataGridView1.CurrentRow.Index].Value;
                BookDB db     = new BookDB();
                bool   result = db.Delete(bookID);
                db.Dispose();

                if (result)
                {
                    LoadData();
                }
                else
                {
                    MessageBox.Show("다시 시도하여 주십시오.");
                }
            }
        }
Esempio n. 10
0
        private void button1_Click(object sender, EventArgs e)
        {
            InitShopping();

            BookDB    db = new BookDB();
            DataTable dt = db.GetBookImage();

            db.Dispose();

            int idx = 1;

            //int rowCnt = (int)Math.Ceiling(dt.Rows.Count / 2.0);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int k = 0; k < 1; k++)
                {
                    if (idx > dt.Rows.Count)
                    {
                        break;
                    }
                    UserControl1 book = new UserControl1();
                    book.Name      = $"Book{idx}";
                    book.Text      = idx.ToString();
                    book.Location  = new Point((k) + 10, (i * 50) + 10);
                    book.Size      = new Size(430, 55);
                    book.BookID    = Convert.ToInt32(dt.Rows[idx - 1]["bookID"]);
                    book.BookName  = dt.Rows[idx - 1]["bookName"].ToString();
                    book.Author    = dt.Rows[idx - 1]["author"].ToString();
                    book.Publisher = dt.Rows[idx - 1]["Publisher"].ToString();
                    book.BookImage = dt.Rows[idx - 1]["bookImage"].ToString();
                    book.AddCart  += Book_AddShoppingList;

                    panel1.Controls.Add(book);
                    idx++;
                }
            }
        }
Esempio n. 11
0
        /// <summary>
        /// 도서반납
        /// </summary>
        /// <param name="bookid">도서번호</param>
        public void ReturnBook(int bookid)
        {
            //유효성체크 - 도서번호가 유효한지
            BookDB book = new BookDB();

            if (!book.IsValid(bookid))
            {
                throw new Exception("유효하지 않는 도서번호입니다.");
            }

            MySqlTransaction trans = conn.BeginTransaction();

            try
            {
                string       sql = "update book set lendingstate = 0 where bookid = @bookid;";
                MySqlCommand cmd = new MySqlCommand(sql, conn);

                cmd.Transaction = trans;
                cmd.Parameters.Add("@bookid", MySqlDbType.Int32);
                cmd.Parameters["@bookid"].Value = bookid;
                cmd.ExecuteNonQuery();

                cmd.CommandText = @"update lendingitem set returndate = @time 
                                where bookid = @bookid and returndate is null;";

                cmd.Parameters.Add("@time", MySqlDbType.DateTime);
                cmd.Parameters["@time"].Value = DateTime.Now; //클래스의 시간

                cmd.ExecuteNonQuery();

                trans.Commit();
            }
            catch (Exception err)
            {
                trans.Rollback();
                throw err;
            }
        }
Esempio n. 12
0
        private void btnInsert_Click(object sender, EventArgs e)
        {
            frmBookIns frm = new frmBookIns();

            if (frm.ShowDialog() == DialogResult.OK)
            {
                //입력받은 값으로 DB에 저장
                Book   book   = frm.BookInfo;
                BookDB db     = new BookDB();
                bool   result = db.Insert(book);
                db.Dispose();
                if (result)
                {
                    MessageBox.Show("성공적으로 추가되었습니다.");
                    LoadData();
                }
                else
                {
                    MessageBox.Show("다시 시도하여주십시오");
                }
                //
            }
        }
Esempio n. 13
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            string name = dgvMember[1, dgvMember.CurrentRow.Index].Value.ToString();

            if (MessageBox.Show($"{name}의 자료를 정말로 삭제할꺼양?", "삭제확인", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                int bookid = (int)dgvMember.CurrentRow.Cells[0].Value;

                BookDB db     = new BookDB();
                bool   result = db.Delete(bookid);
                db.Dispose();

                if (result)
                {
                    //MessageBox.Show("삭제되었습니다.");
                    LoadData();
                }
                else
                {
                    MessageBox.Show("다시 삭제를 시도하여 주십시오.");
                }
            }
        }
Esempio n. 14
0
        private void btnSelect_Click(object sender, EventArgs e)
        {
            BookDB db = new BookDB();

            db.GetAllData();
        }