private void checkSaveOperations_Click(object sender, EventArgs e)
        {
            SortedList <int, DB_objects.Operation> operations = new SortedList <int, DB_objects.Operation>();
            string operation, arg0, arg1, arg2;
            Regex  regex = new Regex("^Operation\\((.*?)\\): (.*?)\\[(.*?)\\]$");
            Match  match;

            DB_objects.Operation o;
            for (int i = 0; i < checkOperations.Items.Count; i++)
            {
                o         = new DB_objects.Operation();
                operation = checkOperations.Items[i].ToString();
                match     = regex.Match(operation);
                arg0      = match.Groups[1].Value;
                arg1      = match.Groups[2].Value;
                arg2      = match.Groups[3].Value;

                o.operation_code = Int32.Parse(arg0);
                o.name           = arg1;
                o.description    = arg2;

                operations.Add(i + 1, o);
            }
            checkDao.updateOperations(selectedCheckView, operations);
        }
 private void operationDeleteButton_Click(object sender, EventArgs e)
 {
     DB_objects.Operation o = new DB_objects.Operation(operationName.Text, operationDesc.Text);
     o.operation_code = selectedOperationView;
     try
     {
         operationDao.delete(o);
         fillOperations();
     }
     catch (SqlException ex)
     {
         toolStripStatusLabel1.Text = "Unable to delete operation, would destroy check point(s)!";
     }
 }
 private void operationSaveButton_Click(object sender, EventArgs e)
 {
     DB_objects.Operation o = new DB_objects.Operation(operationName.Text, operationDesc.Text);
     if (selectedOperationView == -1)
     {
         operationDao.create(o);
     }
     else
     {
         o.operation_code = selectedOperationView;
         operationDao.update(o);
     }
     fillOperations();
 }
        private void operationAttrSaveButton_Click(object sender, EventArgs e)
        {
            DB_objects.Attribute a = new DB_objects.Attribute();
            a.type     = operationAttributeType.Text;
            a.value    = operationAttributeValue.Text;
            a.language = operationAttributeLanguage.Text;

            if (selectedOperationAttributeView == -1)
            {
                DB_objects.Operation o = new DB_objects.Operation();
                o.operation_code = selectedOperationView;
                o.name           = operationName.Text;
                o.description    = operationDesc.Text;

                operationAttributeDao.create(o, a);
            }
            else
            {
                a.attribute_code = selectedOperationAttributeView;
                operationAttributeDao.update(a);
            }
            fillOperationAttributes(selectedOperationView);
        }