public DocGiaBO Tim1DocGia(string madocgia)
 {
     DocGiaBO docgiaBO = new DocGiaBO();
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "SELECT top 1 MaDocGia,MaLoai,TenDocGia,Gioitinh,Convert(nvarchar(10),Ngaysinh,103) ngaysinh,DiaChi,";
     query += "Convert(nvarchar(10),NgayLapThe,103) ngaylapthe,Convert(nvarchar(10),NgayHetHan,103) ngayhethan,MatKhau,HinhAnh FROM DocGia";
     query += " WHERE MaDocGia = @madocgia";
     SqlCommand cmd = new SqlCommand(query, cnn);
     cmd.Parameters.AddWithValue("@madocgia",madocgia);
     cnn.Open();
     SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {
         docgiaBO.MaDocGia = dr["MaDocGia"].ToString();
         docgiaBO.MaLoai = dr["MaLoai"].ToString();
         docgiaBO.TenDocGia = dr["TenDocGia"].ToString();
         docgiaBO.GioiTinh = Convert.ToBoolean(dr["GioiTinh"].ToString());
         docgiaBO.NgaySinh = dr["NgaySinh"].ToString();
         docgiaBO.DiaChi = dr["Diachi"].ToString();
         docgiaBO.NgayLapThe = dr["NgayLapThe"].ToString();
         docgiaBO.NgayHetHan = dr["NgayHetHan"].ToString();
         docgiaBO.MatKhau = dr["MatKhau"].ToString();
         docgiaBO.HinhAnh = dr["HinhAnh"].ToString();
     }
     cnn.Close();
     return docgiaBO;
 }
 public bool KiemTraTonTai(DocGiaBO docgiaBO)
 {
     foreach (DocGiaBO docgia in this)
     {
         if (docgia.SoSanh(docgiaBO) == false)
         {
             return true;
         }
     }
     return false;
 }
 protected void SachGridview_RowCreated(object sender, GridViewRowEventArgs e)
 {
     if (e.Row.RowType == DataControlRowType.DataRow && DataBinder.Eval(e.Row.DataItem, "masach") != null)
     {
         //Lấy các con trol
         Label MaSachLabel = (Label)e.Row.FindControl("MaSachLabel");
         Label TenSachLabel = (Label)e.Row.FindControl("TenSachLabel");
         Label MaPhieuMuonLabel = (Label)e.Row.FindControl("MaPhieuMuonLabel");
         Label NgayMuonLabel = (Label)e.Row.FindControl("NgayMuonLabel");
         Label NgayHetHanLabel = (Label)e.Row.FindControl("NgayHetHanLabel");
         Label TenNhanVienLabel = (Label)e.Row.FindControl("TenNhanVienLabel");
         Label MaNhanVienLabel = (Label)e.Row.FindControl("MaNhanVienLabel");
         Label DocGiaLabel = (Label)e.Row.FindControl("DocGiaLabel");
         Label MaDocGiaLabel = (Label)e.Row.FindControl("MaDocGiaLabel");
         Label GiaHanLabel = (Label)e.Row.FindControl("GiaHanLabel");
         Button GiaHanButton= (Button)e.Row.FindControl("GiaHanButton");
         string masach = DataBinder.Eval(e.Row.DataItem, "masach").ToString();
         //nạp thông tin sách
         SachBO sachBO = new SachBO();
         sachBO = sachBUS.Tim1Sach(masach);
         MaSachLabel.Text = sachBO.MaSach;
         TenSachLabel.Text = sachBO.TenSach;
         //nạp thông tin phiếu mượn
         string maphieumuon = DataBinder.Eval(e.Row.DataItem, "maphieumuon").ToString();
         PhieuMuonBO phieumuonBO = new PhieuMuonBO();
         phieumuonBO = phieumuonBUS.Tim1PhieuMuon(maphieumuon);
         MaPhieuMuonLabel.Text = phieumuonBO.MaPhieuMuon;
         NgayMuonLabel.Text = phieumuonBO.NgayMuon;
         NgayHetHanLabel.Text = phieumuonBO.NgayHetHan;
         GiaHanLabel.Text = phieumuonBUS.TimGiaHan(maphieumuon, masach);
         if (GiaHanLabel.Text != "")
             GiaHanButton.Visible = false;
         //nạp thông tin nhân viên
         NhanVienBO nhanvienBO = new NhanVienBO();
         nhanvienBO = nhanvienBUS.Tim1Nhanvien(phieumuonBO.MaNV);
         TenNhanVienLabel.Text = nhanvienBO.TenNV;
         MaNhanVienLabel.Text = nhanvienBO.MaNV;
         //nạp thông tin độc giả
         string madg = doctaichoBUS.Tim1DocGia_Luot(phieumuonBO.MaLuot);
         DocGiaBO docgiaBO = new DocGiaBO();
         docgiaBO = docgiaBUS.Tim1DocGia(madg);
         DocGiaLabel.Text = docgiaBO.TenDocGia;
         MaDocGiaLabel.Text = docgiaBO.MaDocGia;
     }
     
 }
 public void ThemDocGia(DocGiaBO docgiaBO)
 {
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "INSERT INTO DocGia(MaDocGia,MaLoai,TenDocGia,Gioitinh,Ngaysinh,DiaChi,NgayLapThe,NgayHetHan,MatKhau,HinhAnh) ";
     query += " VALUES(@MaDocGia,@MaLoai,@TenDocGia,@Gioitinh,@Ngaysinh,@DiaChi,@NgayLapThe,@NgayHetHan,@MatKhau,@HinhAnh)";
     SqlCommand cmd = new SqlCommand(query, cnn);
     cmd.Parameters.AddWithValue("@MaDocGia", docgiaBO.MaDocGia);
     cmd.Parameters.AddWithValue("@MaLoai", docgiaBO.MaLoai);
     cmd.Parameters.AddWithValue("@TenDocGia", docgiaBO.TenDocGia);
     cmd.Parameters.AddWithValue("@GioiTinh", docgiaBO.GioiTinh);
     cmd.Parameters.AddWithValue("@NgaySinh", docgiaBO.NgaySinh);
     cmd.Parameters.AddWithValue("@DiaChi", docgiaBO.DiaChi);
     cmd.Parameters.AddWithValue("@NgayLapThe", docgiaBO.NgayLapThe);
     cmd.Parameters.AddWithValue("@NgayHetHan", docgiaBO.NgayHetHan);
     cmd.Parameters.AddWithValue("@MatKhau", docgiaBO.MatKhau);
     cmd.Parameters.AddWithValue("@HinhAnh", docgiaBO.HinhAnh);
     cnn.Open();
     cmd.ExecuteNonQuery();
     cnn.Close();
 }
 public bool SoSanh(DocGiaBO docgiaBO)
 {
     int dem = 0;
     if (this.MaDocGia == docgiaBO.MaDocGia)
         return true;
     if (this.MaLoai == docgiaBO.MaLoai)
         dem++;
     if (this.TenDocGia == docgiaBO.TenDocGia)
         dem++;
     if (this.GioiTinh == docgiaBO.GioiTinh)
         dem++;
     if (this.NgaySinh == docgiaBO.NgaySinh)
         dem++;
     if (this.DiaChi == docgiaBO.DiaChi)
         dem++;
     if (this.HinhAnh == docgiaBO.HinhAnh)
         dem++;
     if (dem == 6)
         return true;
     return false;
 }
 public bool SuaDocGia(string madocgia,string maloai,string tendocgia,bool gioitinh,string ngaysinh,string diachi,string ngaylapthe,string ngayhethan,string hinhanh,string matkhau, bool hasimage, string madocgiaUp)
 {
     try
     {
         DocGiaBO docgiaBO= new DocGiaBO();
         docgiaBO.MaDocGia =madocgia;
         docgiaBO.MaLoai =maloai;
         docgiaBO.TenDocGia = tendocgia;
         docgiaBO.GioiTinh = gioitinh;
         docgiaBO.NgaySinh = ngaysinh;
         docgiaBO.DiaChi = diachi;
         docgiaBO.NgayLapThe = ngaylapthe;
         docgiaBO.NgayHetHan = ngayhethan;
         docgiaBO.MatKhau =matkhau;
         docgiaBO.HinhAnh = hinhanh;
         docgiaDAO.SuaDocGia(docgiaBO,hasimage,madocgiaUp);
         return true;
     }
     catch
     {
         return false;
     }
 }
   protected void KiemTraButton_Click(object sender, EventArgs e)
   {
       string masach = MaSachKiemTraTextbox.Text;
       //Kiểm tra sách đã bị báo là mất chưa
       bool kt1 = phieumuonBUS.KiemTraSach_DaMat(masach);
       if (kt1 == true)
       {
           ThongbaoSachLabel.Text = "Mã sách sai hoặc đã là mất! Xin kiểm tra lại";
           AnhienSach(false);
           ResetSach();
           return;
       }
       //Kiểm tra sách có thuộc phiếu mượn (chưa đựơc trả) nào không
       string maphieumuon = phieumuonBUS.KiemTraSach_DangMuon(masach);
       if(maphieumuon=="")
       {
           ThongbaoSachLabel.Text = "Sách này chưa đựơc mượn";
           AnhienSach(false);
           ResetSach();
           return;
       }
       AnhienSach(true);
       //nạp thông tin sách
       SachBO sachBO = new SachBO();
       sachBO = sachBUS.Tim1Sach(masach);
       MaSachLabel.Text = sachBO.MaSach;
       TenSachLabel.Text = sachBO.TenSach;
       //nạp thông tin phiếu mượn
       PhieuMuonBO phieumuonBO= new PhieuMuonBO();
       phieumuonBO=phieumuonBUS.Tim1PhieuMuon(maphieumuon);
       MaPhieuMuonLabel.Text = phieumuonBO.MaPhieuMuon;
       NgayMuonLabel.Text = phieumuonBO.NgayMuon;
       NgayHetHanLabel.Text = phieumuonBO.NgayHetHan;
 //      GiaHanLabel.Text = phieumuonBO.GiaHan;
       //nạp thông tin nhân viên
       NhanVienBO nhanvienBO = new NhanVienBO();
       nhanvienBO = nhanvienBUS.Tim1Nhanvien(phieumuonBO.MaNV);
       TenNhanVienLabel.Text=nhanvienBO.TenNV;
       MaNhanVienLabel.Text=nhanvienBO.MaNV;
       //nạp thông tin độc giả
       string madg = doctaichoBUS.Tim1DocGia_Luot(phieumuonBO.MaLuot);
       DocGiaBO docgiaBO = new DocGiaBO();
       docgiaBO = docgiaBUS.Tim1DocGia(madg);
       DocGiaLabel.Text = docgiaBO.TenDocGia;
       MaDocGiaLabel.Text = docgiaBO.MaDocGia;
       //Kiểm tra sách đã hết hạn hay chưa
       DateTime dt = new DateTime();
       dt = DateTime.Now;
       int hethan=0;
       if (NgayHetHanLabel.Text != "")
       {
           DateTime ngayhethan=Convert.ToDateTime(nhanvienBUS.ChuyenNgayThang(NgayHetHanLabel.Text));
           hethan =Convert.ToInt32((dt-ngayhethan).Days);
       }
       if (GiaHanLabel.Text != "")
       {
           DateTime ngaygiahan=Convert.ToDateTime(nhanvienBUS.ChuyenNgayThang(GiaHanLabel.Text));
           hethan = Convert.ToInt32((dt-ngaygiahan).Days);
       }
       if(hethan>0)
           ThongbaoSachLabel.Text="Sách đã hết hạn "+hethan+" ngày!";
   }
 protected void DocGiaGridView_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     ViewState["madocgia"] = "";
     if (e.CommandName == "xoa")
     {
         ThongBaoLabel.Text = "";
         bool kq=docgiaBUS.XoaDocGia(e.CommandArgument.ToString());
         if(kq==false)
             ThongBaoLabel.Text = "Không xóa đựơc độc giả này";
         NapDuLieu();
     }
     if (e.CommandName == "sua")
     {
         ThongBaoLabel.Text = "";
         NapDuLieu();       
         DocGiaBO docgiaBO = new DocGiaBO();
         docgiaBO = docgiaBUS.Tim1DocGia(e.CommandArgument.ToString());
         ViewState["madocgia"] = e.CommandArgument.ToString();
         SuaPopup.Show();
         MaDocGiaSuaTextBox.Text = docgiaBO.MaDocGia;
         TenDocGiaSuaTextBox.Text = docgiaBO.TenDocGia;
         LoaiDocGiaSuaDropdown.SelectedValue = docgiaBO.MaLoai;
         if(docgiaBO.GioiTinh==true)
             GioiTinhSuaDropdown.SelectedValue = "True";
         else
             GioiTinhSuaDropdown.SelectedValue = "False";
         NgaySinhSuaTxt.Text = docgiaBO.NgaySinh;
         DiaChiSuaTextBox.Text = docgiaBO.DiaChi;
         NgayLapTheSuaTextBox.Text = docgiaBO.NgayLapThe;
         NgayHetHanSuaTextbox.Text = docgiaBO.NgayHetHan;
         
     }
 }   
 public void Add(DocGiaBO docgiaBO)
 {
     List.Add(docgiaBO);
 }
    protected void KiemtradocgiaButton_Click(object sender, EventArgs e)
    {
        DocGiaBO docgiaBO = new DocGiaBO();
        string madocgia = MadocgiaTextBox.Text;
        docgiaBO = docgiaBUS.Tim1DocGia(madocgia);
        string maluot = phieumuonBUS.KiemTraMaLuot(madocgia);
        ThongBaoDocGiaLabel.Text = "";
        if (docgiaBO != null && docgiaBO.TenDocGia != null && maluot != "")
        {
            //kiểm tra số sách mưon chua tra
            int kt1 = phieumuonBUS.DemsoSach_ChuaTra(madocgia);
            if (kt1 == 3)
            {
                ThongBaoDocGiaLabel.Text = "Độc giả đã mượn đủ số sách quy định";
                return;
            }
            else
                ThongBaoDocGiaLabel.Text = "Độc giả đã mượn " + kt1 + "/3 cuốn sách";
            ///////////////////////

            ViewState["maluot"] = maluot;
            MaDocGiaLabel.Text = docgiaBO.MaDocGia;
            TenDocGiaLabel.Text = docgiaBO.TenDocGia;
            HinhanhdocgiaImage.ImageUrl = docgiaBO.HinhAnh;
            LoaiDocgiaLabel.Text = loaidocgiaBUS.Tim1LoaiDocGia(docgiaBO.MaLoai).TenLoai;
            if (docgiaBO.GioiTinh == true)
                GioiTinhLabel.Text = "Nam";
            else
                GioiTinhLabel.Text = "Nữ";
            NgaysinhLabel.Text = docgiaBO.NgaySinh;
            DiaChiLabel.Text = docgiaBO.DiaChi;
            NgayLapTheLabel.Text = docgiaBO.NgayLapThe;
            NgayHetHanLabel.Text = docgiaBO.NgayHetHan;
            AnHienDocGia(true);
            MasachTextBox.Focus();
        }
        else
        {
            ThongBaoDocGiaLabel.Text = "Mã độc giả không hợp lệ";
            ResetDocGia();
            AnHienDocGia(false);
            MadocgiaTextBox.Focus();
        }
    }
 public void SuaDocGia(DocGiaBO docgiaBO, bool hasimage,string madocgiaUp)
 {
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "UPDATE DocGia SET MaDocGia=@MaDocGia,MaLoai=@MaLoai,TenDocGia=@TenDocGia,Gioitinh=@Gioitinh,Ngaysinh=@NgaySinh ";
     query += " ,DiaChi=@DiaChi,NgayLapThe=@NgayLapThe,NgayHetHan=@NgayHetHan";
     if (docgiaBO.MatKhau != "")
     {
         query += ",MatKhau=@MatKhau";
     }
     if (hasimage == true)
         query += ",HinhAnh=@Hinhanh";
     query += " WHERE MaDocGia=@MaDocGiaUp";
     SqlCommand cmd = new SqlCommand(query, cnn);
     cmd.Parameters.AddWithValue("@MaDocGia", docgiaBO.MaDocGia);
     cmd.Parameters.AddWithValue("@MaLoai", docgiaBO.MaLoai);
     cmd.Parameters.AddWithValue("@TenDocGia", docgiaBO.TenDocGia);
     cmd.Parameters.AddWithValue("@GioiTinh", docgiaBO.GioiTinh);
     cmd.Parameters.AddWithValue("@NgaySinh", docgiaBO.NgaySinh);
     cmd.Parameters.AddWithValue("@DiaChi", docgiaBO.DiaChi);
     cmd.Parameters.AddWithValue("@NgayLapThe", docgiaBO.NgayLapThe);
     cmd.Parameters.AddWithValue("@NgayHetHan", docgiaBO.NgayHetHan);
     if (docgiaBO.MatKhau != "")
         cmd.Parameters.AddWithValue("@MatKhau", docgiaBO.MatKhau);
     if (hasimage == true)
         cmd.Parameters.AddWithValue("@HinhAnh", docgiaBO.HinhAnh);
     cmd.Parameters.AddWithValue("@MaDocGiaUp", madocgiaUp);
     cnn.Open();
     cmd.ExecuteNonQuery();
     cnn.Close();
 }