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