//Lấy Quyền chức năng theo Quyền
        public static List <QuyenChucNangPublic> LayQuyenChucNangTheoQuyen(string _IDQuyen)
        {
            List <QuyenChucNangPublic> _ListQCN = new List <QuyenChucNangPublic>();
            QuyenChucNangPublic        _QCN;

            SqlCommand _cmd = new SqlCommand();

            _cmd.CommandType = CommandType.StoredProcedure;
            _cmd.CommandText = "[Lấy danh sách Quyền - Chức năng]";
            _cmd.Parameters.AddWithValue("@ID_Q", _IDQuyen);
            DataTable _dtQCN = conn.GetDataSet2(_cmd).Tables[0];

            for (int i = 0; i < _dtQCN.Rows.Count; i++)
            {
                _QCN                         = new QuyenChucNangPublic();
                _QCN.Quyen.ID_Q              = _dtQCN.Rows[i]["ID_Q"].ToString();
                _QCN.Quyen.TenQuyen_Q        = _dtQCN.Rows[i]["TenQuyen_Q"].ToString();
                _QCN.ChucNang.ID_CN          = _dtQCN.Rows[i]["ID_CN"].ToString();
                _QCN.ChucNang.TenChucNang_CN = _dtQCN.Rows[i]["TenChucNang_CN"].ToString();
                _QCN.DuocSuDung_QCN          = (bool)_dtQCN.Rows[i]["DuocSuDung_QCN"];

                _ListQCN.Add(_QCN);
            }
            return(_ListQCN);
        }
        //Thêm quyền(Thêm cả quyền và quyền chức năng)
        public static void ThemQuyen(QuyenPublic _quyen)
        {
            try
            {
                //Thêm mới quyền
                ThemMoiQuyen(_quyen);

                //Thêm mới Quyền - Chức năng
                QuyenChucNangPublic _QuyenChucNang;
                DataTable           _dtChucNang = conn.GetDataSet("[Danh sách chức năng]").Tables[0];
                for (int i = 0; i < _dtChucNang.Rows.Count; i++)
                {
                    _QuyenChucNang                = new QuyenChucNangPublic();
                    _QuyenChucNang.Quyen          = _quyen;
                    _QuyenChucNang.ChucNang.ID_CN = _dtChucNang.Rows[i]["ID_CN"].ToString();
                    _QuyenChucNang.DuocSuDung_QCN = false;

                    ThemMoiQuyenChucNang(_QuyenChucNang);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        //Lấy quyền
        public static bool HienThiQuyen(List <QuyenChucNangPublic> _lstQcn, string _IDChucNang)
        {
            bool t = false;
            QuyenChucNangPublic _qcn = _lstQcn.Find(item => item.ChucNang.ID_CN == _IDChucNang);

            if (_qcn != null && ThietLapHeThongDataAccess.CheckLastDate())
            {
                return(t = _qcn.DuocSuDung_QCN);
            }
            return(t);
        }
        //Thêm mới Quyền - Chức năng
        private static void ThemMoiQuyenChucNang(QuyenChucNangPublic _QuyenChucNang)
        {
            SqlCommand _cmd = new SqlCommand();

            _cmd.CommandType = CommandType.StoredProcedure;
            _cmd.CommandText = "[Thêm Quyền - Chức năng]";
            _cmd.Parameters.AddWithValue("@IDQ_QCN", _QuyenChucNang.Quyen.ID_Q);
            _cmd.Parameters.AddWithValue("@IDCN_QCN", _QuyenChucNang.ChucNang.ID_CN);
            _cmd.Parameters.AddWithValue("@DuocSuDung_QCN", _QuyenChucNang.DuocSuDung_QCN);
            conn.Execute(_cmd);
        }