internal void Handle(SaveDiagnosticsTask input) { var output = new SaveDiagnosticsTaskResponse(); using (var dbConn = DatabaseManager.DbConn()) { var task = dbConn.ExecuteBpl(new DiagnosticsTaskGetById { TaskId = input.Task.TaskId }); if (task == null) { var taskAdd = dbConn.ExecuteBpl(new DiagnosticsTaskGetByName { TaskName = input.Task.TaskName }); if (taskAdd != null) { Log.Warn("Attempt to add duplicated task with name '{0}'", input.Task.TaskName); output.swlr = SwlResult.ALREADY_EXISTS; goto Exit; } dbConn.ExecuteBpl(new DiagnosticsTaskAdd { TaskId = input.Task.TaskId, TaskType = input.Task.TaskType, TaskName = input.Task.TaskName, TaskSchedule = input.Task.TaskSchedule, TaskData = input.Task.TaskData }); } else { dbConn.ExecuteBpl(new DiagnosticsTaskUpdate { TaskId = input.Task.TaskId, TaskSchedule = input.Task.TaskSchedule, TaskData = input.Task.TaskData }); } output.swlr = SwlResult.OK; } Exit: Reply(output); }
private void _btnSaveOnClick(object sender, EventArgs e) { if (_task == null) { _task = new DiagnosticsTaskInfo(); } if (_task.TaskId.IsEmpty) { _task.TaskId = BplIdentity.Get(Guid.NewGuid().ToString()); if (textName.Text == "") { MessageBox.Show("Enter task name", "Task name is empty", MessageBoxButtons.OK, MessageBoxIcon.Error); textName.Focus(); return; } _task.TaskName = textName.Text; if (((DiagnosticsTaskType)cmbType.SelectedItem) == DiagnosticsTaskType.None) { MessageBox.Show("Enter correct task type", "Incorrect task type", MessageBoxButtons.OK, MessageBoxIcon.Error); cmbType.Focus(); return; } _task.TaskType = (DiagnosticsTaskType)cmbType.SelectedItem; } try { _task.TaskSchedule = TimeSpan.Parse(textSchedule.Text); } catch (Exception ex) { MessageBox.Show("Enter schedule in correct format", ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error); textSchedule.Focus(); return; } if (textData.Text != "") { _task.TaskData = System.Text.Encoding.Unicode.GetBytes(textData.Text); } var req = new SaveDiagnosticsTask(); req.Task = _task.Clone(); SendRequest(req); }