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; } } } } } } }
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; }