public ChiTietPhieuMuon_TraCollection TimChitietPhieuThu(string maphieuthu)
 {
     ChiTietPhieuMuon_TraCollection chitietColl = new ChiTietPhieuMuon_TraCollection();
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "SELECT Convert(nvarchar(10),GiaHan,103) GiaHan,* FROM Chitietphieumuon_tra WHERE maphieuthu=@maphieuthu ";
     SqlCommand cmd = new SqlCommand(query, cnn);
     cmd.Parameters.AddWithValue("@maphieuthu", maphieuthu);
     cnn.Open();
     SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {
         ChiTietPhieuMuon_Tra ctphieu = new ChiTietPhieuMuon_Tra();
       //  ctphieu.GiaHan = dr["Giahan"].ToString();
         ctphieu.LyDoPhat = dr["lydophat"].ToString();
         ctphieu.MaPhieuMuon = dr["maphieumuon"].ToString();
         ctphieu.MaPhieuThu = dr["maphieuthu"].ToString();
         ctphieu.MaSach = dr["masach"].ToString();
         ctphieu.TienTheChan = Convert.ToDecimal(dr["tienthechan"].ToString());
         ctphieu.NgayTra = dr["ngaytra"].ToString();
         if (dr["sotienphat"].ToString() != "")
             ctphieu.SoTienPhat = Convert.ToDecimal(dr["sotienphat"].ToString());
         /*     if(dr["tienthechan"].ToString()!="")
                  ctphieu.TienTheChan = Convert.ToDecimal(dr["tienthechan"].ToString());*/
         chitietColl.Add(ctphieu);
     }
     cnn.Close();
     return chitietColl;
 }
 protected void SachGridview_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "Them")
     {
         ChiTietPhieuMuon_TraCollection chitietphieuColl = new ChiTietPhieuMuon_TraCollection();
         chitietphieuColl = (ChiTietPhieuMuon_TraCollection) Session["PhieuPhat"];
         //add thêm chitietphieu
         ChiTietPhieuMuon_Tra chitietphieu = new ChiTietPhieuMuon_Tra();
         int stt =Convert.ToInt32(e.CommandArgument.ToString());
         string maphieumuon =((HiddenField)SachGridview.Rows[stt].FindControl("maphieuhid")).Value.ToString();
         string masach = ((Label)SachGridview.Rows[stt].FindControl("MasachLabel")).Text;
         //nạp lại
         string madocgia = MadocgiaTextbox.Text;
         NapSach(madocgia);
         //xử lý tiếp
         Label thongbao = ((Label)SachGridview.Rows[stt].FindControl("SachLabel"));
         thongbao.Text = "";
         bool kt = KiemTraTrung(maphieumuon, masach);
         if (kt == true)
         {
             thongbao.Text = "Sách đã được cho vào phiếu phạt";
         }
         else
         {
             chitietphieu.MaPhieuMuon = maphieumuon;
             chitietphieu.MaSach = masach;
             chitietphieuColl.Add(chitietphieu);
             Session["PhieuPhat"] = chitietphieuColl;                
         }
         NapPhieuPhat();
     }
    
 }
 public ChiTietPhieuMuon_TraCollection TimSachViPham(string madocgia)
 {
     ChiTietPhieuMuon_TraCollection chitietColl = new ChiTietPhieuMuon_TraCollection();
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "SELECT Convert(nvarchar(10),GiaHan,103) GiaHan,* FROM (SELECT a.MaPhieuMuon,MaSach,Ngaymuon,NgayHetHan,GiaHan,NgayTra,LydoPhat,SoTienPhat,TienTheChan,MaPhieuThu ";
     query += "FROM ChiTietphieumuon_tra a,PhieuMuon b WHERE a.MaPhieuMuon=b.MaPhieuMuon ";
     query += "AND b.MaPhieuMuon in(SELECT distinct MaPhieuMuon FROM PhieuMuon,LuotVaoThuVien ";
     query += "WHERE PhieuMuon.maluot=Luotvaothuvien.maluot AND madocgia=@madocgia) ";
     query += "AND MaSach in (SELECT masach FROM Sach WHERE trangthai=1)) SachViPham ";
     query += "WHERE (NgayTra IS NULL AND(NgayHetHan<GETDATE()) AND MaPhieuThu IS NULL) ";
     query += "OR (NgayTra IS NULL AND(GiaHan<GETDATE()) AND MaPhieuThu IS NULL) ";
     query += "OR (NgayTra IS NOT NULL AND (NgayHetHan<NgayTra) AND MaPhieuThu IS NULL) ";
     query += "OR (NgayTra IS NOT NULL AND (GiaHan<NgayTra) AND MaPhieuThu IS NULL) ";
     query += "OR (NgayTra IS NULL AND MaPhieuThu IS NULL)";
     SqlCommand cmd = new SqlCommand(query, cnn);
     cmd.Parameters.AddWithValue("@madocgia", madocgia);
     cnn.Open();
     SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {
         ChiTietPhieuMuon_Tra ctphieu = new ChiTietPhieuMuon_Tra();
         ctphieu.GiaHan = dr["Giahan"].ToString();
         ctphieu.LyDoPhat = dr["lydophat"].ToString();
         ctphieu.MaPhieuMuon = dr["maphieumuon"].ToString();
         ctphieu.MaPhieuThu = dr["maphieuthu"].ToString();
         ctphieu.MaSach = dr["masach"].ToString();
         ctphieu.TienTheChan = Convert.ToDecimal(dr["tienthechan"].ToString());
         ctphieu.NgayTra = dr["ngaytra"].ToString();
         if (dr["sotienphat"].ToString() != "")
             ctphieu.SoTienPhat = Convert.ToDecimal(dr["sotienphat"].ToString());
         /*     if(dr["tienthechan"].ToString()!="")
                  ctphieu.TienTheChan = Convert.ToDecimal(dr["tienthechan"].ToString());*/
         chitietColl.Add(ctphieu);
     }
     cnn.Close();
     return chitietColl;
 }
 public ChiTietPhieuMuon_TraCollection Sach_ChuaTra(string madocgia_sach, bool cachtim)
 {
     ChiTietPhieuMuon_TraCollection chitietphieuColl = new ChiTietPhieuMuon_TraCollection();
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "SELECT * FROM Luotvaothuvien a,Phieumuon b,Chitietphieumuon_tra c";
     query += " WHERE a.MaLuot=b.MaLuot AND b.MaPhieuMuon=c.MaPhieuMuon";
     if(cachtim==true)
         query += " AND madocgia=@madocgia";
     else
         query += " AND masach=@masach";
     query += " AND(c.NgayTra is NULL AND MaPhieuThu is NULL)";
     SqlCommand cmd = new SqlCommand(query,cnn);
     if (cachtim == true)
         cmd.Parameters.AddWithValue("@madocgia", madocgia_sach);
     else
         cmd.Parameters.AddWithValue("@masach", madocgia_sach);
     cnn.Open();
     SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {
         ChiTietPhieuMuon_Tra chitietphieu = new ChiTietPhieuMuon_Tra();
         chitietphieu.GiaHan = dr["giahan"].ToString();
         chitietphieu.LyDoPhat = dr["lydophat"].ToString();
         chitietphieu.MaPhieuMuon=dr["maphieumuon"].ToString();
         chitietphieu.MaPhieuThu = dr["maphieuthu"].ToString();
         chitietphieu.MaSach = dr["masach"].ToString();
         chitietphieu.NgayTra = dr["ngaytra"].ToString();
         //chitietphieu.SoTienPhat=Convert.ToDecimal(dr["sotienphat"].ToString());
         chitietphieu.TienTheChan=Convert.ToDecimal(dr["tienthechan"].ToString());
         chitietphieuColl.Add(chitietphieu);
     }
     cnn.Close();
     return chitietphieuColl;
 }
 public void Add(ChiTietPhieuMuon_Tra chitietphieumuon_traBO)
 {
     List.Add(chitietphieumuon_traBO);
 }
 protected void LuuButton_Click(object sender, EventArgs e)
 {
     ThongbaoPhieuMuonLabel.Text = "";
     string madocgia = MaDocGiaLabel.Text;
     string masach = MasachmuonLabel.Text;
     //kiểm tra số lượng sáh độc giả đang muợn
     int kt1 = phieumuonBUS.DemsoSach_ChuaTra(madocgia);
     if (kt1 == 3)
     {
         ThongbaoPhieuMuonLabel.Text = "Độc giả đã mượn đủ số sách quy định";
         return;
     }
     else
         ThongbaoPhieuMuonLabel.Text = "Độc giả đã mượn " + kt1 + "/3 cuốn sách";
     //kiểm tra sách có đang đựơc mượn hay không
     string kt2 = phieumuonBUS.KiemTraSach_DangMuon(masach);
     if (kt2 != "")
     {
         ThongbaoPhieuMuonLabel.Text = "Sách đã đựơc mượn";
         return;
     }
     //kiểm tra tiền thế chân
     int kq = 0;
     if (int.TryParse(TienthechanTextbox.Text.Split('.')[0], out kq) == false || Convert.ToInt32(TienthechanTextbox.Text.Split('.')[0]) < Convert.ToInt32(TriGiaLabel.Text.Split('.')[0]))
     {
         ThongbaoPhieuMuonLabel.Text = "Tiền thế chân phải lớn hơn hoặc bằng giá trị của sách";
         return;
     }
     //kiểm tra sách có đang chuẩn bị lập phiếu không
     ChiTietPhieuMuon_TraCollection chitietphieuColl = new ChiTietPhieuMuon_TraCollection();
     chitietphieuColl = Session["SachMuon"] as ChiTietPhieuMuon_TraCollection;
     foreach (ChiTietPhieuMuon_Tra ct in chitietphieuColl)
         if (MasachmuonLabel.Text == ct.MaSach)
         {
             ThongbaoPhieuMuonLabel.Text = "Sách đã đựơc thêm vào phiếu mượn";
             return;
         }
     //Kiểm tra có độc giả để lập phiếu chưa
     if (MaDocGiaLabel.Text == "")
     {
         ThongBaoDocGiaLabel.Text = "Bạn phải chọn độc giả để lập phiếu";
         return;
     }
     //Nếu qua hết thì thêm vào phiếu            
     ChiTietPhieuMuon_Tra ctphieu = new ChiTietPhieuMuon_Tra();
     ctphieu.MaSach = MasachmuonLabel.Text;
     ctphieu.TienTheChan = Convert.ToInt32(TienthechanTextbox.Text.Split('.')[0]);
     chitietphieuColl.Add(ctphieu);
     Session["SachMuon"] = chitietphieuColl;
     //Kiểm tra số sách tối đa add vào là 3
     if (kt1 + chitietphieuColl.Count > 3)
     {
         ThongbaoPhieuMuonLabel.Text = "Độc giả chỉ có thể mượn tối đa 3 sách";
         return;
     }
     NapDuLieuVaoGrid();
     ResetSach();
     AnHienSach(false);
     MasachTextBox.Text = "";
     MasachTextBox.Focus();
 }