Esempio n. 1
0
        public async static Task <bool> ChangeColumnName(this ProjectContext db, string userEmail, ChangeColumnNameForm form)
        {
            var user = await db.Users.FirstOrDefaultAsync(x => x.Email.Equals(userEmail, StringComparison.OrdinalIgnoreCase));

            if (user == null)
            {
                _code = ControllerErrorCode.UserNotFound;
                return(false);
            }

            var column = await db.Columns.FirstOrDefaultAsync(x => x.Project.Id == form.ProjectId && x.Id == form.ColumnId);

            if (column == null)
            {
                _code = ControllerErrorCode.ColumnNotFound;
                return(false);
            }

            var role = await db.Roles.FirstOrDefaultAsync(x => x.Project.Id == form.ProjectId && x.User == user);

            if (role == null || role.Type != ProjectUserRole.ProjectManager)
            {
                _code = ControllerErrorCode.PermissionsDenied;
                return(false);
            }

            column.Name = form.NewName;

            await db.SaveChangesAsync();

            return(true);
        }
        public void SetContextMenu()
        {
            _contextMenu = new ContextMenu();
            var columnChangeName = new System.Windows.Forms.MenuItem("Переименовать признак");
            var columnChangeMark = new System.Windows.Forms.MenuItem("Вид признака");
            var columnDelete     = new System.Windows.Forms.MenuItem("Удалить признак");
            var radio_1          = new System.Windows.Forms.MenuItem("Качественный");
            var radio_2          = new System.Windows.Forms.MenuItem("Количественный");

            radio_1.RadioCheck = true;
            radio_2.RadioCheck = true;

            if (Qualitative)
            {
                radio_1.Checked = true;
            }
            else
            {
                radio_2.Checked = true;
            }

            EventHandler radioChangeMethod = new EventHandler((sender, e) => {
                if (sender.Equals(radio_1))
                {
                    radio_1.Checked = true;
                    radio_2.Checked = false;
                    Qualitative     = true;
                }
                else
                {
                    radio_1.Checked = false;
                    radio_2.Checked = true;
                    Qualitative     = false;
                }
            });
            EventHandler nameChangeMethod = new EventHandler((sender, e) => {
                ChangeColumnNameForm form = new ChangeColumnNameForm(HeaderText);
                if (form.ShowDialog() == DialogResult.OK)
                {
                    Name       = form.ColumnNameTextBox.Text;
                    HeaderText = form.ColumnNameTextBox.Text;
                }
            });
            EventHandler deleteColumnMethod = new EventHandler((sender, e) => {
                DialogResult dialogResult = MessageBox.Show("Вы уверены?", "Удаление признака", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    DataGridView.Columns.Remove(this);
                }
            });

            columnChangeName.Click += nameChangeMethod;
            columnDelete.Click     += deleteColumnMethod;
            radio_1.Click          += radioChangeMethod;
            radio_2.Click          += radioChangeMethod;

            _contextMenu.MenuItems.Add(columnChangeName);
            _contextMenu.MenuItems.Add(columnChangeMark);
            _contextMenu.MenuItems.Add(columnDelete);
            columnChangeMark.MenuItems.Add(radio_1);
            columnChangeMark.MenuItems.Add(radio_2);
        }