private void mnuEditEdit_Click(object sender, EventArgs e) { if (grdMain.CurrentRow == null) { return; } //Подготовка данных для редактирования int RecID = (int)grdMain.CurrentRow.Cells["ID"].Value; cTask Task = null; //проверка, не заблокирована ли запись if (LockedRecIDs.Contains(RecID)) { CommonFunctions.InfoMessage("Запись заблокирована, так как данное задание выполняется", "Запись заблокирована"); return; } try { Task = new cTask(cConfig.dsConfig, "Tasks", RecID); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); statlblMessages.ForeColor = Color.Red; statlblMessages.Text = "ОШИБКА: " + ex.Message; return; } //форма редактирования frmAddTask fAddTask = new frmAddTask(); fAddTask.fMain = this; fAddTask.Task = Task; fAddTask.bEdit = true; fAddTask.ShowDialog(); OnLockRecord = null; OnUnlockRecord = null; if (fAddTask.bSuccess) { FindRows = null; //обнуление поиска //отредактированное задание должно быть в очереди на выполнение if (Worker.RunningInCurrentPeriod(RecID)) { Worker.RemoveTask(RecID, false); //удаляем WorkerErrorLevel wol = Worker.AddTask(RecID); //перезапускаем showworkererror(wol, "Задача сохранена и запущена на выполнение."); } } }
private void mnuEditAdd_Click(object sender, EventArgs e) { //показали форму для добавления frmAddTask fAddTask = new frmAddTask(); fAddTask.ShowDialog(); if (fAddTask.bSuccess) //добавление удачно { FindRows = null; //обнуляем поиск //попытка запуска новой задачи //вытаскиваем ID последней записи int RecID = (int)cConfig.dsConfig.Tables["Tasks"]. Rows[cConfig.dsConfig.Tables["Tasks"].Rows.Count - 1]["ID"]; //Пробуем загрузить WorkerErrorLevel wol = Worker.AddTask(RecID); showworkererror(wol, "Задача сохранена и запущена на выполнение."); } }