Пример #1
0
        private void SetPrivilege(string privilegeCode)
        {
            int  anketaAccess = OperatorOrg.GetAnketaDataAccesseCode(privilegeCode);
            bool readOnly     = (anketaAccess == 1);

            if (readOnly)
            {
                addStripButton.Enabled     = !readOnly;
                editStripButton.Enabled    = !readOnly;
                delStripButton.Enabled     = !readOnly;
                dismissStripButton.Enabled = !readOnly;
                restoreStripButton.Enabled = !readOnly;
                attachToOrgButton.Enabled  = !readOnly;

                addStripButton.ToolTipText     = "У вас недостаточно прав. Обратитесь к администратору";
                editStripButton.ToolTipText    = "У вас недостаточно прав. Обратитесь к администратору";
                delStripButton.ToolTipText     = "У вас недостаточно прав. Обратитесь к администратору";
                dismissStripButton.ToolTipText = "У вас недостаточно прав. Обратитесь к администратору";
                restoreStripButton.ToolTipText = "У вас недостаточно прав. Обратитесь к администратору";

                ToolTip toolTip1 = new ToolTip();
                toolTip1.SetToolTip(attachToOrgButton, "У вас недостаточно прав. Обратитесь к администратору");

                personView.CellDoubleClick -= personView_CellDoubleClick;
            }

            int anketaPrint = OperatorOrg.GetAnketaPrintAccesseCode(privilegeCode);

            printStripDropDownButton.Enabled = (anketaPrint > 0);
            if (anketaPrint == 0)
            {
                printStripDropDownButton.ToolTipText = "У вас недостаточно прав. Обратитесь к администратору";
            }
        }
Пример #2
0
        private void personView_MouseClick(object sender, MouseEventArgs e)
        {
            try
            {
                if (e.Button == MouseButtons.Right)
                {
                    ContextMenuStrip menu = cmsPerson;
                    if (menu == null)
                    {
                        return;
                    }

                    DataGridView    dataView = sender as DataGridView;
                    ToolStripItem[] items; //Массив в который возвращает элементы метод Find
                    List <string>   menuItems = new List <string>
                    {
                        "editPersonMenuItem",
                        "delpersonMenuItem",
                        "dismissPersonMenuItem",
                        "restorePersonMenuItem",
                        "printAnketsMenuItem",
                        "printUnregisteredMenuItem"
                    }; //Список элементов которые нужно включать\выключать

                    int  currentMouseOverRow = dataView.HitTest(e.X, e.Y).RowIndex;
                    bool isEnabled           = !(currentMouseOverRow < 0);
                    foreach (string t in menuItems)
                    {
                        items = menu.Items.Find(t, true);
                        if (items.Any())
                        {
                            items[0].Enabled = isEnabled;
                        }
                    }

                    menuItems = new List <string>(); //Список элементов которые нужно принудительно выключать
                    if (restoreStripButton.Enabled)
                    {
                        menuItems.Add("dismissPersonMenuItem");
                    }
                    else
                    {
                        menuItems.Add("restorePersonMenuItem");
                    }

                    // Проверка прав и отключение пунктов
                    int  anketaAccess = OperatorOrg.GetAnketaDataAccesseCode(_privilege);
                    bool readOnly     = (anketaAccess == 1);
                    if (readOnly)
                    {
                        menuItems.Add("addPersonMenuItem");
                        menuItems.Add("editPersonMenuItem");
                        menuItems.Add("delpersonMenuItem");
                        menuItems.Add("dismissPersonMenuItem");
                        menuItems.Add("restorePersonMenuItem");
                    }
                    int anketaPrint = OperatorOrg.GetAnketaPrintAccesseCode(_privilege);
                    if (anketaPrint == 0)
                    {
                        menuItems.Add("printAnketsMenuItem");
                        menuItems.Add("printUnregisteredMenuItem");
                    }

                    foreach (string t in menuItems)
                    {
                        items = menu.Items.Find(t, true);
                        if (items.Any())
                        {
                            items[0].Enabled = false;
                        }
                    }

                    menu.Show(dataView, e.Location);
                }
            }
            catch (Exception ex)
            {
                MainForm.ShowErrorFlexMessage(ex.Message, "Непредвиденная ошибка");
            }
        }
Пример #3
0
        private void personView_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode == Keys.Apps || (e.Shift && e.KeyCode == Keys.F10))
                {
                    DataGridViewCell currentCell = (sender as DataGridView).CurrentCell;
                    if (currentCell == null)
                    {
                        return;
                    }
                    ContextMenuStrip cms = cmsPerson;
                    if (cms == null)
                    {
                        return;
                    }
                    Rectangle r = currentCell.DataGridView.GetCellDisplayRectangle(currentCell.ColumnIndex,
                                                                                   currentCell.RowIndex, false);
                    Point p = new Point(r.Left, r.Top);

                    ToolStripItem[] items;                           //Массив в который возвращает элементы метод Find
                    List <string>   menuItems = new List <string>(); //Список элементов которые нужно включать\выключать
                    menuItems = new List <string>();                 //Список элементов которые нужно принудительно выключать
                    if (restoreStripButton.Enabled)
                    {
                        menuItems.Add("dismissPersonMenuItem");
                    }
                    else
                    {
                        menuItems.Add("restorePersonMenuItem");
                    }

                    // Проверка прав и отключение пунктов
                    int  anketaAccess = OperatorOrg.GetAnketaDataAccesseCode(_privilege);
                    bool readOnly     = (anketaAccess == 1);
                    if (readOnly)
                    {
                        menuItems.Add("addPersonMenuItem");
                        menuItems.Add("editPersonMenuItem");
                        menuItems.Add("delpersonMenuItem");
                        menuItems.Add("dismissPersonMenuItem");
                        menuItems.Add("restorePersonMenuItem");
                    }
                    int anketaPrint = OperatorOrg.GetAnketaPrintAccesseCode(_privilege);
                    if (anketaPrint == 0)
                    {
                        menuItems.Add("printAnketsMenuItem");
                        menuItems.Add("printUnregisteredMenuItem");
                    }

                    foreach (string t in menuItems)
                    {
                        items = cms.Items.Find(t, true);
                        if (items.Any())
                        {
                            items[0].Enabled = false;
                        }
                    }

                    cms.Show((sender as DataGridView), p);
                }

                if (e.KeyCode == Keys.Delete)
                {
                    int  anketaAccess = OperatorOrg.GetAnketaDataAccesseCode(_privilege);
                    bool readOnly     = (anketaAccess == 1);
                    if (readOnly)
                    {
                        MainForm.ShowInfoMessage("У вас недостаточно прав. Обратитесь к администратору.", "Внимание");
                        return;
                    }
                    delStripButton_Click(sender, e);
                }

                if (e.KeyCode == Keys.Enter)
                {
                    int  anketaAccess = OperatorOrg.GetAnketaDataAccesseCode(_privilege);
                    bool readOnly     = (anketaAccess == 1);
                    if (readOnly)
                    {
                        MainForm.ShowInfoMessage("У вас недостаточно прав. Обратитесь к администратору.", "Внимание");
                        return;
                    }
                    editStripButton_Click(sender, e);
                }

                if (e.KeyCode == Keys.Space)
                {
                    if ((sender as DataGridView).CurrentRow == null)
                    {
                        return;
                    }

                    (_personBS.Current as DataRowView)[Check] =
                        !Convert.ToBoolean((_personBS.Current as DataRowView)[Check]);
                    (sender as DataGridView).EndEdit();
                    (sender as DataGridView).Refresh();
                }
            }
            catch (Exception ex)
            {
                MainForm.ShowErrorFlexMessage(ex.Message, "Непредвиденная ошибка");
            }
        }