private void editButton_Click(object sender, EventArgs e) { // получить ссылку на активную запись оператора DataRowView oper = _operatorBS.Current as DataRowView; // если ссылка пустая, то выдать сообщение и завершить метод if (oper == null) { MainForm.ShowInfoMessage("Сначала необходимо выбрать оператора", "Неопределен оператор"); return; } // если оператор является Администратором, выдать сообщение и прекратить выполнение if (0 == (int)oper[Operator.candelete]) { MainForm.ShowInfoMessage("Запрешено изменять имя оператора!", "Внимание"); return; } // создать форму ввода данных об операторе (имя) OperatorsEditPersonForm tmpForm = new OperatorsEditPersonForm(); tmpForm.Owner = this; // открыть форму DialogResult dRes = tmpForm.ShowDialog(this); // если введены данные (результат диалога утвердительный) if (dRes == DialogResult.OK) { // поменять имя оператора oper[Operator.name] = tmpForm.OperatorName; oper.EndEdit(); } }
private void addButton_Click(object sender, EventArgs e) { // создать форму для внесения данных об операторе (Имя оператора) OperatorsEditPersonForm tmpForm = new OperatorsEditPersonForm(); tmpForm.Owner = this; // отображаем форму как диалог DialogResult dRes = tmpForm.ShowDialog(this); // если пользователь ввел имя (завершил работу с диалогом с утвердительным ответом) if (dRes == DialogResult.OK) { // получение данных с формы-диалога string operName = tmpForm.OperatorName.Trim(); if (_operatorBS.Find(Operator.name, operName) > 0) { MainForm.ShowInfoMessage("Пользователь с таким именем уже существует!", "Ошибка добавления оператора"); return; } // пароль пока пустой string operPassword = ""; //создание формы для указания пароля ChangePasswordForm changeForm = new ChangePasswordForm(); changeForm.Owner = this; changeForm.PasswordOld = operPassword; // отобразить форму для диалога dRes = changeForm.ShowDialog(this); // если пользователь ввел пароль (завершил работу с диалогом с утвердительным ответом) if (dRes == DialogResult.OK) { // считывается введенный пароль operPassword = changeForm.Password; // создание новой строки оператора DataRow newOperRow = _operatorTable.NewRow(); //начать редактирование newOperRow.BeginEdit(); // введение данных в запись newOperRow[Operator.id] = -(GetMaxID(_operatorTable, Operator.id) + 1); newOperRow[Operator.name] = operName; newOperRow[Operator.password] = operPassword; newOperRow[Operator.candelete] = 1; // принять редактирование newOperRow.EndEdit(); // добавить запись в таблицу _operatorTable.Rows.Add(newOperRow); // сделать активной добавленную запись _operatorBS.Position = _operatorBS.Find(Operator.id, newOperRow[Operator.id]); } } }