public TacGiaCollection TimDSTacGia_Sach(string masach)
 {
     TacGiaCollection tacgiaColl = new TacGiaCollection();
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "SELECT * FROM TacGia,Sach_TacGia WHERE TacGia.MaTG=Sach_TacGia.MaTG AND masach like @masach AND tentg <> '' order by tentg";
     SqlCommand cmd = new SqlCommand(query, cnn);
     cmd.Parameters.AddWithValue("@masach", "%" + masach + "%");
     cnn.Open();
     SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {
         TacGiaBO tgBO = new TacGiaBO();
         tgBO.MaTG = dr["matg"].ToString();
         tgBO.TenTG = dr["tentg"].ToString();
         tacgiaColl.Add(tgBO);
     }
     cnn.Close();
     return tacgiaColl;
 }
 public bool ThemSach(string manxb,string tensach, int namxuatban,int lanxuatban,decimal trigia,string hinhanh, TacGiaCollection tacgiaColl,string ngaynhap, int soluong)
 {
     try
     {
         SachBO sachBO = new SachBO();
         sachBO.MaNXB = manxb;
         sachBO.TenSach = tensach;
         sachBO.namxuatban = namxuatban;
         sachBO.lanxuatban = lanxuatban;
         sachBO.trigia = trigia;
         sachBO.hinhanh = hinhanh;
         sachBO.ngaynhap = ngaynhap;
         sachBO.tacgiaColl = tacgiaColl;
         sachDAO.ThemSach(sachBO,soluong);
         return true;
     }
     catch
     {
         return false;
     }
 }
 public bool SuaSach(int madausach, string manxb, string tensach, int namxuatban, int lanxuatban, decimal trigia, string hinhanh, TacGiaCollection tacgiaColl, string ngaynhap,bool hasimage)
 {
     try
     {
         SachBO sachBO= new SachBO();
         sachBO.Madausach = madausach;
         sachBO.MaNXB = manxb;
         sachBO.TenSach = tensach;                
         sachBO.namxuatban = namxuatban;
         sachBO.lanxuatban = lanxuatban;
         sachBO.trigia = trigia;
         sachBO.hinhanh = hinhanh;
         sachBO.tacgiaColl = tacgiaColl;
         sachBO.ngaynhap = ngaynhap;
         sachDAO.SuaSach(sachBO,hasimage);
         return true;
     }
     catch
     {
         return false;
     }
 }
    protected void LoaitacgiaGridView_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "xoa")
        {
            string matg = (e.CommandArgument).ToString();
            tacgiaBUS.XoaTg(matg);
            NapDuLieu();
        }

        else if (e.CommandName == "sua")
        {
            TacGiaCollection tacgiacoll = new TacGiaCollection();
            tacgiacoll = tacgiaBUS.TimDSTacGia(TimTextbox.Text);

            int index = Convert.ToInt32(e.CommandArgument.ToString());
            ViewState["MaTg"] = tacgiacoll.Index(index).MaTG;

            string tentg = tacgiacoll.Index(index).TenTG;
            SuaPopup.Show();
            SuaTextBox.Text = tentg;
        }

    }
 protected void LuuButton_Click(object sender, EventArgs e)
 {
     bool res=KiemTraHopLe(NamXuatBanSuaTextBox.Text, LanXuatBanSuaTextBox.Text, TriGiaSuaTextBox.Text);
     if (res == false)
     {
         SuaPopup.Show();
         return;
     }
     SachBO sachBO = new SachBO();
     //lấy thông tim mới để sửa lại sách
     int madausach=Convert.ToInt32( ViewState["madausach"].ToString());
     sachBO = sachBUS.Tim1Sach(madausach);     
     string manxb=NhaXuatBanSuaDropDown.SelectedValue; 
     string tensach=TenSachSuaTextBox.Text; 
     int namxuatban=Convert.ToInt32(NamXuatBanSuaTextBox.Text); 
     int lanxuatban=Convert.ToInt32(LanXuatBanSuaTextBox.Text); 
     decimal trigia=Convert.ToDecimal(TriGiaSuaTextBox.Text); 
     string hinhanh=""; 
     TacGiaCollection tacgiaColl= new TacGiaCollection();
     for (int i = 0; i < TacGiaSuaListBox.Items.Count; i++)
     {
         if (TacGiaSuaListBox.Items[i].Selected == true)
         {
             TacGiaBO tgBO = new TacGiaBO();
             tgBO.MaTG = TacGiaSuaListBox.Items[i].Value;
             tacgiaColl.Add(tgBO);
         }
     }
     string ngaynhap = nhanvienBUS.ChuyenNgayThang(NgayNhapSuaTextBox.Text);
     //Lấy thông tin hình cần upload và đánh dấu có hình hay không
     bool hasimage = true;//biến cho biết là có hình mới đựơc upload không        
     if (HinhAnhSuaUpload.PostedFile != null && HinhAnhSuaUpload.PostedFile.FileName != "")
         hinhanh = "~/images/sach/" + HinhAnhSuaUpload.PostedFile.FileName;
     else
     {
         hinhanh = "";
         hasimage = false;
     }
     //Thực hiện lưu vào CSDL
     bool kq = sachBUS.SuaSach(madausach, manxb, tensach, namxuatban, lanxuatban, trigia, hinhanh, tacgiaColl, ngaynhap, hasimage);
     if (kq == true)
     {
         //Lưu hình vào thư mục ../images/sach
         if (hasimage == true)
         {
             if (System.IO.File.Exists(hinhanh))//nếu file tồn tại
                 System.IO.File.Delete(hinhanh);//thì xóa file đi
             HinhAnhSuaUpload.SaveAs(Server.MapPath("..\\images\\sach\\") + System.IO.Path.GetFileName(hinhanh));
         }
     }
     NapDuLieu();
     
 }
 protected void SachGridView_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     ViewState["madausach"] = "";
     if (e.CommandName == "chitiet")
     {
         ThongbaoLabel.Text = "";
         ViewState["madausach"] = e.CommandArgument.ToString();
         ChiTietPopup.Show();
         //lấy tất cả sách có mã đầu sách là e.CommandArgument
         int madausach = Convert.ToInt32(e.CommandArgument);
         SachCollection sachColl = new SachCollection();
         sachColl = sachBUS.TimDSSach(madausach);
         //nạp vào ChiTietDaugridview
         ChiTietDauSachGridView.DataSource = sachColl;
         ChiTietDauSachGridView.DataBind();
         //gán dữ liệu đầu sách điểh hình vào
         HinhanhdausachImage.ImageUrl = sachColl.Index(0).hinhanh ;
         TenDauSachLabel.Text = sachColl.Index(0).TenSach;
         ChiTietDauSachLanXuatBanLabel.Text = sachColl.Index(0).lanxuatban.ToString();
         ChiTietDauSachNgayNhapLabel.Text = sachColl.Index(0).ngaynhap.ToString();
         ChiTietDauSachTriGiaLabel.Text = sachColl.Index(0).trigia.ToString();
         NapDuLieu();
     }
     else if(e.CommandName=="xoa")
     {
         ThongbaoLabel.Text = "";
         bool kq=sachBUS.XoaSach(Convert.ToInt32(e.CommandArgument.ToString()));
         if(kq==false)
             ThongbaoLabel.Text = "Không thể xóa đầu sách này được";
         NapDuLieu();
     }
     else if (e.CommandName == "sua")
     {
         ThongbaoLabel.Text = "";
         NapDSNXB();
         NapDSTacGia();
         ViewState["madausach"] = e.CommandArgument.ToString();
         //nạp dữ liệu lên form sửa
         SachBO sachBO = new SachBO();
         sachBO = sachBUS.Tim1Sach(Convert.ToInt32(e.CommandArgument));
         TenSachSuaTextBox.Text = sachBO.TenSach;
         TacGiaCollection tacgiaColl = new TacGiaCollection();
         tacgiaColl = sachBO.tacgiaColl;
         if (tacgiaColl != null && tacgiaColl.Count != 0)
         {
             for (int i = 0; i < tacgiaColl.Count; i++)
             {
                 for (int j = 0; j < TacGiaSuaListBox.Items.Count; j++)
                 {
                     if (tacgiaColl.Index(i).MaTG == TacGiaSuaListBox.Items[j].Value)
                     {
                         TacGiaSuaListBox.Items[j].Selected = true;
                         break;
                     }
                 }
             }
         }
         NhaXuatBanSuaDropDown.SelectedValue = sachBO.MaNXB;
         NamXuatBanSuaTextBox.Text = sachBO.namxuatban.ToString() ;
         LanXuatBanSuaTextBox.Text = sachBO.lanxuatban.ToString();
         TriGiaSuaTextBox.Text = sachBO.trigia.ToString();
         NgayNhapSuaTextBox.Text = sachBO.ngaynhap.ToString();
         SuaPopup.Show();
         NapDuLieu();
     }
 }
 protected void ThemSachButton_Click(object sender, EventArgs e)
 {
     bool res = KiemTraHopLe(NamxuatbanMoiTextBox.Text, LanxuatbanMoiTextbox.Text, TrigiaMoiTextBox.Text, SoluongMoiTextBotx.Text);
     if (res == false)
     {
         ThemPopup.Show();
         return;
     }
     string manxb=NhaxuatbanMoiDropdown.SelectedValue;
     string tensach=TenSachMoiTextBox.Text;
     int namxuatban=Convert.ToInt32(NamxuatbanMoiTextBox.Text);
     int lanxuatban=Convert.ToInt32(LanxuatbanMoiTextbox.Text);
     decimal trigia=Convert.ToDecimal(TrigiaMoiTextBox.Text);
     string hinhanh="";
     //lấy ds các tác giả
     TacGiaCollection tgColl = new TacGiaCollection();
     for (int i = 0; i < TacgiaMoiList.Items.Count;i++ )
     {
         if (TacgiaMoiList.Items[i].Selected == true)
         {
             TacGiaBO tgBO = new TacGiaBO();
             tgBO.MaTG = TacgiaMoiList.Items[i].Value;
             tgColl.Add(tgBO);
         }
     }
     string ngaynhap =nhanvienBUS.ChuyenNgayThang(NgaynhapsachMoiTextBox.Text);
     int soluong=Convert.ToInt32(SoluongMoiTextBotx.Text);     
     //Upload và lưu đường dẫn hình vào CSDL       
     bool hasimage = true; // biến kiểm tra đã có file đựơc upload chưa      
     if (HinhAnhMoiFileUpLoad.PostedFile != null && HinhAnhMoiFileUpLoad.PostedFile.FileName != "")//kiểm tra đã chọn file nào để upload chưa
         hinhanh = "~/images/sach/" + GetFileName(HinhAnhMoiFileUpLoad.PostedFile.FileName);
     else
     {
         hinhanh = "~/images/sach/questionbook.jpg";
         hasimage = false;
     }
     //THÊM VÀO CSDL
     bool kq = sachBUS.ThemSach(manxb, tensach, namxuatban, lanxuatban, trigia, hinhanh, tgColl,ngaynhap, soluong);
     if (kq == true)//Nếu lưu thành công
     {
         //Lưu hình ảnh vô thư mục ../images/sach
         if (hasimage == true)
             HinhAnhMoiFileUpLoad.SaveAs(Server.MapPath("..\\images\\sach\\") + System.IO.Path.GetFileName(hinhanh));
         NapDuLieu();
     }
     //reset lại Popup thêm nhân viên           
     TenSachMoiTextBox.Text = "";
     NgaynhapsachMoiTextBox.Text = nhanvienBUS.ChuyenNgayThang(DateTime.Now.Date.ToShortDateString());
     NamxuatbanMoiTextBox.Text = "";
     LanxuatbanMoiTextbox.Text = "";
     TrigiaMoiTextBox.Text = "";
     SoluongMoiTextBotx.Text = "";
 }