protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Quyen"] != null && !IsPostBack)
        {
            QuyenCollection quyencoll = new QuyenCollection();
            quyencoll =(QuyenCollection) Session["Quyen"];
            PhanQuyenListView.DataSource = quyencoll;
            PhanQuyenListView.DataBind();         
        }

    }
 } //Nạp danh sách nhân viên lên Gridview
 public void NapDSQuyen()
 {
     QuyenCollection quyenColl = new QuyenCollection();
     quyenColl = quyenBUS.TimDSQuyen();
     for (int i = 0; i < 6; i++)
     {
         CheckBoxList cblist = new CheckBoxList();
         cblist = QuyenTab.Tabs[i].FindControl("CheckBoxList"+(i+1).ToString()) as CheckBoxList;
         if (quyenColl.Index(i).ChiTietQuyen == null) 
             break;
         cblist.DataSource = quyenColl.Index(i).ChiTietQuyen;
         cblist.DataTextField = "TenCTQuyen";
         cblist.DataValueField = "MaCTQuyen";
         cblist.DataBind();
     }  
 }// nạp danh sách quyền cho TabControl
 protected void NhanVienGridView_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     ViewState["manv"] = e.CommandArgument.ToString();
     NapDuLieu();
     NapDSQuyen();
     PhanQuyenPopup.Show();
     if (e.CommandName == "phanquyen") 
     {
         //Lấy quyền của nhân viên
         QuyenCollection quyenColl = new QuyenCollection();
         quyenColl = quyenBUS.TimDSQuyen_NhanVien(e.CommandArgument.ToString());
         if (quyenColl.Count == 0) return;//nếu nhân viên không có bất cứ quyền nào
         //Vòng lặp để Nạp những quyền hiện tại mà nhân viên đó có:
         for (int i = 0; i < QuyenTab.Tabs.Count; i++)//duyệt qua từng tab
         {
             //Lấy ra CheckboxList trong Tab đó
             CheckBoxList quyenList = QuyenTab.Tabs[i].FindControl("CheckBoxList" + (i + 1).ToString()) as CheckBoxList;
             if (quyenList.Items.Count == 0) break;//nếu CheckListBox không có Item nào ==> bỏ qua
             //Duyệt qua từng Item của CheckBoxList
             for (int j = 0; j < quyenList.Items.Count; j++)
             {
                 foreach (QuyenBO quyenbo in quyenColl)
                 {
                     for (int k = 0; k < quyenbo.ChiTietQuyen.Count; k++)
                     {
                         //Nếu giống nhau ==> check Item đó
                         if (quyenList.Items[j].Value == quyenbo.ChiTietQuyen.Index(k).MaCTQuyen)
                         {
                             quyenList.Items[j].Selected = true;
                             break;
                         }
                     }
                 }
                 
             }
         }
        
     }
   
 }
Exemplo n.º 4
0
 public QuyenCollection TimDSQuyen_NhanVien(string manv)
 {
     QuyenCollection quyenColl = new QuyenCollection();
     SqlConnection cnn = new SqlConnection(cnnstr);
     string query = "select distinct quyen.maquyen,tenquyen from Quyen,chitietquyen,nhanvien_quyen,nhanvien";
     query += " where Quyen.MaQuyen=ChiTietQuyen.MaQuyen and ChiTietQuyen.MaCTQuyen=NhanVien_Quyen.MaCTQuyen and Nhanvien_Quyen.MaNV=NhanVien.MaNV";
     query += " and nhanvien.manv=@manv";
     SqlCommand cmd = new SqlCommand(query, cnn);
     cmd.Parameters.AddWithValue("@manv", manv);
     cnn.Open();
     SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {
         QuyenBO quyenBO = new QuyenBO();
         string maquyen = dr["MaQuyen"].ToString();
         quyenBO = Tim1Quyen_NhanVien(maquyen, manv);
         if (quyenBO.ChiTietQuyen.Count != 0)
             quyenColl.Add(quyenBO);
     }
     cnn.Close();
     return quyenColl;
 }