public XtraUserControl DM_QUAN_LY_FIELD()
 {
     DataSet dt = DABase.getDatabase().LoadTable("FW_TABLE_FIELD_EXT");
     DMTreeGroupElement pl = new DMTreeGroupElement();
     pl.Init(GroupElementType.CHOICE_N_ADD,
         "FW_TABLE_OBJECT", null, "ID", "PARENT_ID",
         new string[] { "DESCRIPTION" }, new string[] { "Tên đối tượng" }, dt,
         "FIELD_ID", "TABLE_ID", "CAPTION", HelpGen.G_FW_ID, CreateDM_QUAN_LY_FIELD, GetRuleDM_QUAN_LY_FIELD);
     return pl;
 }
Esempio n. 2
0
 public XtraUserControl Init()
 {
     DataSet dt = HelpDB.getDatabase().LoadDataSet("select * from DANH_BA where id=-1", "DANH_BA");
     DMTreeGroupElement pl = new DMTreeGroupElement();
     pl.Init(GroupElementType.ONLY_INPUT,
         "DM_NHOM_DANH_BA", null, "ID", "PARENT_ID",
          new string[] { "NAME" }, new string[] { "Tên nhóm danh bạ" }, dt,
         "ID", "LOAI_DANH_BA", "NAME", HelpGen.G_FW_DM_ID, CreateDM_DANH_BA, GetRuleDM_DANHBA);
     if (isPermission) pl.DefinePermission(DanhMucParams.GetPermission(pl, DMTaiLieu.N, "Danh mục tài liệu"));
     return pl;
 }
Esempio n. 3
0
        public DevExpress.XtraEditors.XtraUserControl Init()
        {
            //DataSet dt = DABase.getDatabase().LoadTable("DM_NHAN_VIEN");
            DataSet dt = DABase.getDatabase().LoadDataSet("SELECT * FROM DM_NHAN_VIEN WHERE -1=1", "DM_NHAN_VIEN");

            DMTreeGroupElement pl = new DMTreeGroupElement();
            pl.Init(GroupElementType.ONLY_INPUT,
                "DEPARTMENT", null, "ID", "PARENT_ID",
                new string[] { "NAME" }, new string[] { "Tên phòng ban" }, dt,
                "ID", "DEPARTMENT_ID", "NAME", HelpGen.G_FW_DM_ID, InitColumns, GetBizRule);
            if(isPermission) pl.DefinePermission(DanhMucParams.GetPermission(pl, DMFWNhanVien.N, "Danh mục nhân viên"));
            return pl;
        }
        public void InitCayTaiNguyen()
        {
            dmTreeTN = (DMTreeGroupElement)tainguyen.DMRes.Init();
            dmTreeTN.btnAdd.Owner.Visible = false;
            dmTreeTN.TreeList_1.OptionsSelection.MultiSelect = true;
            dmTreeTN.gridView_1.OptionsSelection.MultiSelect = true;
            dmTreeTN.Location = new Point(0, 0);
            dmTreeTN.Dock = DockStyle.Fill;

            DockPanel dock = dmTreeTN.Controls["dockPanel1"] as DockPanel;
            if (dock != null)
            {
                if (dock.Controls.Count > 0 && dock.Controls[0] is ControlContainer)
                {
                    ControlContainer container = dock.Controls[0] as ControlContainer;
                    if (container.Controls.Count == 0) return;
                    container.Controls[0].Dock = DockStyle.None;
                    checkChonNhomCon.Parent.Controls.Remove(checkChonNhomCon);
                    checkChonNhomCon.Dock = DockStyle.Top;
                    container.Controls.Add(checkChonNhomCon);
                    container.Controls[0].Dock = DockStyle.Fill;
                }
            }
            panelControl4.Controls.Add(dmTreeTN);
            dmTreeTN.gridView_1.GridControl.AllowDrop = true;
            dmTreeTN.gridView_1.Appearance.GroupPanel.Font = new Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Inch);
            dmTreeTN.gridView_1.Appearance.GroupPanel.Options.UseFont = true;
            dmTreeTN.gridView_1.Appearance.HeaderPanel.Options.UseTextOptions = true;
            dmTreeTN.gridView_1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            dmTreeTN.TreeList_1.AllowDrop = false;
            dmTreeTN.TreeList_1.OptionsBehavior.DragNodes = true;

            dmTreeTN.gridView_1.MouseLeave += new EventHandler(gridView_1_MouseLeave);

            dmTreeTN.gridView_1.GridControl.DragOver += new DragEventHandler(GridControl_DragOver);
            dmTreeTN.gridView_1.GridControl.DragDrop += new DragEventHandler(GridControl_DragDrop);
            dmTreeTN.gridView_1.GridControl.DragLeave += new EventHandler(GridControl_DragLeave);

            dmTreeTN.TreeList_1.MouseLeave += new EventHandler(TreeList_1_MouseLeave);
            dmTreeTN.TreeList_1.DragDrop += new DragEventHandler(TreeList_1_DragDrop);
            dmTreeTN.TreeList_1.DragLeave += new EventHandler(TreeList_1_DragLeave);
            dmTreeTN.TreeList_1.DragEnter += new DragEventHandler(TreeList_1_DragEnter);
        }
        private static void CreateItemOnDMTreeGroupElement(DMTreeGroupElement control)
        {
            string TableName = "";
            DataTable dt = control.gridView_1.GridControl.DataSource as DataTable;
            if (dt != null)
            {
                TableName = dt.TableName;

            }
            else return;
            IPermissionData perRes = FrameworkParams.iPermissionData;
            DataPermission[] tainguyenLst = perRes.getObjectResources();
            if (tainguyenLst == null) return;
            bool Is_Group = false;
            DataPermission DataPer = null;
            foreach (DataPermission data in tainguyenLst)
            {
                if (data.DMTableName_Res == TableName)
                {
                    DataPer = data;
                    Is_Group = false;
                }
                else if (data.DMTableName_ResGroup == TableName)
                {
                    DataPer = data;
                    Is_Group = true;
                    break;
                }
            }
            if (DataPer == null) return;
            DataPer.Init();

            ToolStripButton btnPhanQuyen = new ToolStripButton("Phân quyền", HelpImage.getImage2020("mnbPhieuPhanHoiKH.png"));
            control.btnAdd.Owner.Items.Add(btnPhanQuyen);
            control.btnAdd.Owner.Items.Add(new ToolStripSeparator());
            btnPhanQuyen.Click += delegate(object sender, EventArgs e)
            {
                int rowHandle = control.gridView_1.FocusedRowHandle;
                if (rowHandle < 0 && control.gridView_1.SelectedRowsCount > 0)
                {
                    rowHandle = control.gridView_1.GetSelectedRows()[0];
                }

                DataRow focusRow = control.gridView_1.GetDataRow(rowHandle);
                if (control.gridView_1.IsDataRow(rowHandle) == false || focusRow == null)
                {
                    HelpMsgBox.ShowNotificationMessage("Bạn chưa chọn dữ liệu. Vui lòng chọn dữ liệu để phân quyền!");
                    return;
                }
                DOResource resource = null;
                if (Is_Group)
                {
                    resource = new DOResource(-1, HelpNumber.ParseInt64(focusRow["ID"]), -1, null);
                }
                else
                {
                    resource = new DOResource(
                        HelpNumber.ParseInt64(focusRow["ID"]),
                      dt.Columns.Contains(DataPer.RefFieldNameDM_Res_ResGroup) ?
                       HelpNumber.ParseInt64(focusRow[DataPer.RefFieldNameDM_Res_ResGroup]) : -1,
                       -1, null);
                }

                frmPermissionDataPopUp frm = new frmPermissionDataPopUp(DataPer, resource);
                HelpProtocolForm.ShowModalDialog(ProtocolVN.Framework.Win.FrameworkParams.MainForm, frm);

            };
            if (DataPer.IsPermission == false) return;

            bool AddPermis = control.btnAdd.Visible;
            bool UpdatePermis = control.btnUpdate.Visible;
            bool DeletePermis = control.btnDel.Visible;

            TreeListNode n = control.TreeList_1.FocusedNode;
            long fParentID = -2;

            if (n != null)
            {
                fParentID = HelpNumber.ParseInt64(n["ID"]);
            }

            DataRow r = control.gridView_1.GetFocusedDataRow();
            long fID = -2;
            if (r != null)
            {
                fID = HelpNumber.ParseInt64(r["ID"]);
            }
            ApplyPermissionOnDMTreeGroupElement(control, Is_Group, AddPermis, UpdatePermis, DeletePermis, DataPer, fID, fParentID, false);

            control.gridView_1.FocusedRowChanged += delegate(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
            {
                DataRow row = control.gridView_1.GetDataRow(e.FocusedRowHandle);
                if (row == null) return;
                long ID = HelpNumber.ParseInt64(row["ID"]);
                TreeListNode node = control.TreeList_1.FocusedNode;
                long ParentID = -2;
                if (node != null)
                {
                    ParentID = HelpNumber.ParseInt64(node["ID"]);
                }
                ApplyPermissionOnDMTreeGroupElement(control, Is_Group, AddPermis, UpdatePermis, DeletePermis, DataPer, ID, ParentID, true);
            };
            control.TreeList_1.FocusedNodeChanged += delegate(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
            {
                TreeListNode node = e.Node;
                if (node == null) return;
                long ParentID = HelpNumber.ParseInt64(node["ID"]);

                DataRow row = control.gridView_1.GetFocusedDataRow();
                long ID = -2;
                if (row != null)
                {
                    ID = HelpNumber.ParseInt64(row["ID"]);
                }
                ApplyPermissionOnDMTreeGroupElement(control, Is_Group, AddPermis, UpdatePermis, DeletePermis, DataPer, ID, ParentID, false);
            };

            control.gridView_1.RowUpdated += delegate(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e)
            {
                if (e.Row == null) return;
                DataRow dr = ((DataRowView)e.Row).Row;
                DataPer.InsertPermis(HelpNumber.ParseInt64(dr["ID"]), Is_Group, -1,
                     ProtocolVN.Framework.Win.FrameworkParams.currentUser.employee_id, true, true, true, true);

            };
            long deleteID = -1;
            control._BeforeDelEvent += delegate(DMTreeGroupElement sender)
            {
                int[] selectedRows = sender.gridView_1.GetSelectedRows();
                if (selectedRows != null && selectedRows.Length > 0)
                {
                    DataRow dlr = sender.gridView_1.GetDataRow(selectedRows[0]);
                    if (dlr != null) deleteID = HelpNumber.ParseInt64(dlr["ID"]);
                }

            };
            control._AfterDelSuccEvent += delegate(DMTreeGroupElement sender)
            {
                if (deleteID != -1)
                {
                    DataPer.DeletePermis(deleteID, Is_Group);
                    deleteID = -1;
                }
            };
        }
 private static void ApplyPermissionOnDMTreeGroupElement(DMTreeGroupElement control, bool Is_Group, bool AddPermis,
     bool UpdatePermis, bool DeletePermis, DataPermission DataPer, long ID, long ParentID, bool IsFocusGrid)
 {
     if (Is_Group)
     {
         if (IsFocusGrid == false && AddPermis && DataPer.DMTableName_ResGroup != "")
         {
             control.btnAdd.Visible = DataPer._checkPermissionResGroup(ParentID, RES_PERMISSION_TYPE.CREATE);
         }
         if (UpdatePermis)
         {
             control.btnUpdate.Visible = DataPer._checkPermissionResGroup(ID, RES_PERMISSION_TYPE.UPDATE);
         }
         if (DeletePermis)
         {
             control.btnDel.Visible = DataPer._checkPermissionResGroup(ID, RES_PERMISSION_TYPE.DELETE);
         }
     }
     else
     {
         if (IsFocusGrid == false && AddPermis && DataPer.DMTableName_ResGroup != "")
         {
             control.btnAdd.Visible = DataPer._checkPermissionResGroup(ParentID, RES_PERMISSION_TYPE.CREATE);
         }
         if (UpdatePermis)
         {
             control.btnUpdate.Visible = DataPer._checkPermissionRes(ID, RES_PERMISSION_TYPE.UPDATE);
         }
         if (DeletePermis)
         {
             control.btnDel.Visible = DataPer._checkPermissionRes(ID, RES_PERMISSION_TYPE.DELETE);
         }
     }
 }