private void button_Luu_Click(object sender, EventArgs e)
        {
            if (textBox_HoVaTen.Text == "" ||
                textBox_SoCMT.Text == "" ||
                textBox_DiaChi.Text == "" ||
                textBox_SoDienThoai.Text == "" ||
                textBox_Email.Text == "")
            {
                MessageBox.Show("Vui lòng nhập thông tin cần thiết.");
            }
            else
            {
                NHANVIEN nv = new NHANVIEN();
                nv.MaNhanVien  = Ham.generateID("NV");
                nv.HoVaTen     = textBox_HoVaTen.Text;
                nv.SoCMT       = textBox_SoCMT.Text;
                nv.NgaySinh    = dateTimePicker_NgaySinh.Value;
                nv.DiaChi      = textBox_DiaChi.Text;
                nv.SoDienThoai = textBox_SoDienThoai.Text;
                nv.Email       = textBox_Email.Text;
                nv.MatKhau     = textBox_MatKhau.Text == "" ? Ham.getMD5(Ham.defaultPassword) : Ham.getMD5(textBox_MatKhau.Text);
                nv.NguoiLap    = Ham.currentUser;
                nv.Anh         = textBox_Anh.Text;
                nv.NgayLap     = DateTime.Now;
                Ham.tv.NHANVIENs.Add(nv);
                Ham.tv.SaveChanges();

                maNhanVien = null;
                clearNVInput();
                dataGridView_NhanVien.DataSource = Ham.getData("NV", textBox_TimKiem.Text);
                MessageBox.Show("Thêm đối tượng thành công.");
            }
        }
 private void button_TraSach_Click(object sender, EventArgs e)
 {
     if (maMuonTra == null || maMuonTra == "")
     {
         MessageBox.Show("Vui lòng chọn phiếu mượn");
     }
     else
     {
         MUONTRA mt          = Ham.tv.MUONTRAs.Where(x => x.MaMuonTra == maMuonTra).SingleOrDefault();
         string  memberName  = Ham.tv.DOCGIAs.Where(x => x.MaDocGia == mt.MaDocGia).SingleOrDefault().HoVaTen;
         string  bookName    = Ham.tv.SACHes.Where(x => x.MaSach == mt.MaSach).SingleOrDefault().TieuDe;
         var     coc         = Ham.tv.SACHes.Where(x => x.MaSach == mt.MaSach).SingleOrDefault().Gia * 0.8;
         var     costRent    = Ham.getCostRent(maMuonTra);
         var     costFine    = Ham.getFine(maMuonTra);
         var     action      = (double)(coc - costRent - costFine) > 0 ? "Hoàn trả độc giả: " : "Thu thêm độc giả: ";
         string  backConfirm = "Độc giả: " + memberName + "\n"
                               + "Sách: " + bookName + "\n"
                               + "Trả đặt cọc: " + coc.ToString() + "\n"
                               + "Phí mượn: " + costRent.ToString() + "\n"
                               + "Phí trễ: " + costFine.ToString() + "\n"
                               + action + (Math.Abs((double)(-coc + costRent + costFine))).ToString() + "\n"
                               + "Xác nhận trả?";
         if (MessageBox.Show(backConfirm, "Thêm trả", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)
         {
             mt.NgayTra      = DateTime.Now;
             mt.NguoiNhanTra = Ham.currentUser;
             mt.Phi          = costRent;
             mt.Phat         = (int)costFine;
             Ham.tv.SaveChanges();
             MessageBox.Show("Trả sách thành công");
             dataGridView_MuonTra.DataSource = Ham.getData("MT", textBox_TimKiemMuonTra.Text);
         }
     }
 }
        private void button_CapNhat_Click(object sender, EventArgs e)
        {
            if (maNhanVien == null || maNhanVien == "")
            {
                MessageBox.Show("Vui lòng chọn đối tượng cần chỉnh sửa.");
            }
            else
            {
                if (textBox_HoVaTen.Text == "" ||
                    textBox_SoCMT.Text == "" ||
                    textBox_DiaChi.Text == "" ||
                    textBox_SoDienThoai.Text == "" ||
                    textBox_Email.Text == "")
                {
                    MessageBox.Show("Vui lòng điền những thông tin cần thiết.");
                }
                else
                {
                    NHANVIEN nv = Ham.tv.NHANVIENs.Where(x => x.MaNhanVien == maNhanVien).SingleOrDefault();
                    nv.HoVaTen     = textBox_HoVaTen.Text;
                    nv.SoCMT       = textBox_SoCMT.Text;
                    nv.NgaySinh    = dateTimePicker_NgaySinh.Value;
                    nv.DiaChi      = textBox_DiaChi.Text;
                    nv.SoDienThoai = textBox_SoDienThoai.Text;
                    nv.Email       = textBox_Email.Text;
                    nv.MatKhau     = textBox_MatKhau.Text == "" ? nv.MatKhau : Ham.getMD5(textBox_MatKhau.Text);
                    Ham.tv.SaveChanges();

                    maNhanVien = null;
                    clearNVInput();
                    dataGridView_NhanVien.DataSource = Ham.getData("NV", textBox_TimKiem.Text);
                    MessageBox.Show("Chỉnh sửa đối tượng thành công.");
                }
            }
        }
        private void button_CapNhat_Click(object sender, EventArgs e)
        {
            if (maSach == null || maSach == "")
            {
                MessageBox.Show("Vui lòng chọn đối tượng cần chỉnh sửa.");
            }
            else
            {
                if (textBox_TieuDe.Text == "" ||
                    textBox_Gia.Text == "")
                {
                    MessageBox.Show("Vui lòng điền những thông tin cần thiết.");
                }
                else
                {
                    SACH s = Ham.tv.SACHes.Where(x => x.MaSach == maSach).SingleOrDefault();
                    s.TieuDe     = textBox_TieuDe.Text;
                    s.NhaXuatBan = textBox_NhaXuatBan.Text;
                    s.NgonNgu    = textBox_NgonNgu.Text;
                    s.Mota       = textBox_MoTa.Text;
                    s.Gia        = Int32.TryParse(textBox_Gia.Text, out int y) ? Int32.Parse(textBox_Gia.Text) : 0;
                    Ham.tv.SaveChanges();

                    maSach = null;
                    clearSInput();
                    dataGridView_Sach.DataSource = Ham.getData("S", textBox_TimKiem.Text);
                    MessageBox.Show("Chỉnh sửa đối tượng thành công.");
                }
            }
        }
        private void button_CapNhat_Click(object sender, EventArgs e)
        {
            if (maDocGia == null || maDocGia == "")
            {
                MessageBox.Show("Vui lòng chọn đối tượng cần chỉnh sửa.");
            }
            else
            {
                if (textBox_HoVaTen.Text == "" ||
                    textBox_SoCMT.Text == "" ||
                    textBox_DiaChi.Text == "" ||
                    textBox_SoDienThoai.Text == "" ||
                    textBox_Email.Text == "")
                {
                    MessageBox.Show("Vui lòng điền những thông tin cần thiết.");
                }
                else
                {
                    DOCGIA dg = Ham.tv.DOCGIAs.Where(x => x.MaDocGia == maDocGia).SingleOrDefault();
                    dg.HoVaTen     = textBox_HoVaTen.Text;
                    dg.SoCMT       = textBox_SoCMT.Text;
                    dg.NgaySinh    = dateTimePicker_NgaySinh.Value;
                    dg.DiaChi      = textBox_DiaChi.Text;
                    dg.SoDienThoai = textBox_SoDienThoai.Text;
                    dg.Email       = textBox_Email.Text;
                    Ham.tv.SaveChanges();

                    maDocGia = null;
                    clearDGInput();
                    dataGridView_Docgia.DataSource = Ham.getData("DG", textBox_TimKiem.Text);
                    MessageBox.Show("Chỉnh sửa đối tượng thành công.");
                }
            }
        }
        private void button_Luu_Click(object sender, EventArgs e)
        {
            if (textBox_TieuDe.Text == "" ||
                textBox_Gia.Text == "")
            {
                MessageBox.Show("Vui lòng nhập thông tin cần thiết.");
            }
            else
            {
                SACH s = new SACH();
                s.MaSach     = Ham.generateID("S");
                s.TieuDe     = textBox_TieuDe.Text;
                s.NhaXuatBan = textBox_NhaXuatBan.Text;
                s.NgonNgu    = textBox_NgonNgu.Text;
                s.Mota       = textBox_MoTa.Text;
                s.Gia        = Int32.TryParse(textBox_Gia.Text, out int y) ? Int32.Parse(textBox_Gia.Text) : 0;
                s.NguoiLap   = Ham.currentUser;
                s.Anh        = textBox_Anh.Text;
                s.NgayLap    = DateTime.Now;
                Ham.tv.SACHes.Add(s);
                Ham.tv.SaveChanges();

                maSach = null;
                clearSInput();
                dataGridView_Sach.DataSource = Ham.getData("S", textBox_TimKiem.Text);
                MessageBox.Show("Thêm đối tượng thành công.");
            }
        }
        private void button_Xoa_Click(object sender, EventArgs e)
        {
            Ham.deleteData("NV", maNhanVien);

            maNhanVien = null;
            clearNVInput();
            dataGridView_NhanVien.DataSource = Ham.getData("NV", textBox_TimKiem.Text);
        }
        private void button_Xoa_Click(object sender, EventArgs e)
        {
            Ham.deleteData("S", maSach);

            maSach = null;
            clearSInput();
            dataGridView_Sach.DataSource = Ham.getData("S", textBox_TimKiem.Text);
        }
        private void button_Xoa_Click(object sender, EventArgs e)
        {
            Ham.deleteData("DG", maDocGia);

            maDocGia = null;
            clearDGInput();
            dataGridView_Docgia.DataSource = Ham.getData("DG", textBox_TimKiem.Text);
        }
 private void Muon_Load(object sender, EventArgs e)
 {
     dataGridView_Sach.DataSource = Ham.tv.GETAVAILABLEBOOKS()
                                    .Select(x => new { x.MaSach, x.TieuDe })
                                    .ToList();
     dataGridView_DocGia.DataSource = Ham.tv.GETAVALIDMEMBER(Ham.maxBookHold)
                                      .Select(x => new { x.MaDocGia, x.HoVaTen })
                                      .ToList();
     dataGridView_MuonTra.DataSource = Ham.getData("MT", textBox_TimKiemMuonTra.Text);
     dateTimePicker_NgayHenTra.Value = DateTime.Now.AddDays(1);
 }
        private void button_Luu_Click(object sender, EventArgs e)
        {
            if (textBox_HoVaTen.Text == "" ||
                textBox_SoCMT.Text == "" ||
                textBox_DiaChi.Text == "" ||
                textBox_SoDienThoai.Text == "" ||
                textBox_Email.Text == "")
            {
                MessageBox.Show("Vui lòng nhập thông tin cần thiết.");
            }
            else
            {
                DOCGIA dg = new DOCGIA();
                dg.MaDocGia    = Ham.generateID("DG");
                dg.HoVaTen     = textBox_HoVaTen.Text;
                dg.SoCMT       = textBox_SoCMT.Text;
                dg.NgaySinh    = dateTimePicker_NgaySinh.Value;
                dg.DiaChi      = textBox_DiaChi.Text;
                dg.SoDienThoai = textBox_SoDienThoai.Text;
                dg.Email       = textBox_Email.Text;
                dg.NguoiLap    = Ham.currentUser;
                dg.Anh         = textBox_Anh.Text;
                dg.NgayLap     = DateTime.Now;
                Ham.tv.DOCGIAs.Add(dg);

                THEDOCGIA tdg = new THEDOCGIA();
                tdg.MaDocGia   = dg.MaDocGia;
                tdg.NgayGiaHan = DateTime.Now;
                tdg.HanCu      = null;
                tdg.HanMoi     = DateTime.Now.AddYears(1);
                tdg.NguoiLap   = Ham.currentUser;
                Ham.tv.THEDOCGIAs.Add(tdg);

                Ham.tv.SaveChanges();

                maDocGia = null;
                clearDGInput();
                dataGridView_Docgia.DataSource = Ham.getData("DG", textBox_TimKiem.Text);
                MessageBox.Show("Thêm đối tượng thành công.");
            }
        }
 private void textBox_TimKiem_TextChanged(object sender, EventArgs e)
 {
     dataGridView_NhanVien.DataSource = Ham.getData("NV", textBox_TimKiem.Text);
 }
 private void textBox_TimKiemMuonTra_TextChanged(object sender, EventArgs e)
 {
     dataGridView_MuonTra.DataSource = Ham.getData("MT", textBox_TimKiemMuonTra.Text);
 }
 private void button_Xoa_Click(object sender, EventArgs e)
 {
     Ham.deleteData("MT", maMuonTra);
     dataGridView_MuonTra.DataSource = Ham.getData("MT", textBox_TimKiemMuonTra.Text);
     maMuonTra = null;
 }
 private void Sach_Load(object sender, EventArgs e)
 {
     dataGridView_Sach.DataSource = Ham.getData("S", textBox_TimKiem.Text);
 }
 private void DocGia_Load(object sender, EventArgs e)
 {
     dataGridView_Docgia.DataSource = Ham.getData("DG", textBox_TimKiem.Text);
 }