public void EditComplianceReport() { ComplianceField trigger = new ComplianceField(); for (int i = 0; i < _filterConditions.Count; i++) { string cf = _filterConditions[i]; trigger.BooleanValue = (cf.Substring(0, cf.IndexOf("_category")) == "1ST") ? "" : cf.Substring(0, cf.IndexOf("_category")); cf = cf.Substring(cf.IndexOf("_category")); trigger.TriggerField = (cf.Substring(13, cf.IndexOf("' and _name") - 13) + "|" + cf.Substring(cf.IndexOf("_name = ") + 9, cf.IndexOf("and _value") - cf.IndexOf("_name = ") - 11)); if (cf.Contains("_value ==")) { trigger.Condition = ComplianceField.eCondition.installed; trigger.Value = String.Empty; } else if (cf.Contains("_value <>")) { trigger.Condition = ComplianceField.eCondition.notinstalled; trigger.Value = String.Empty; } else if (cf.Contains("_value >=")) { trigger.Condition = ComplianceField.eCondition.greaterequals; trigger.Value = cf.Substring(cf.IndexOf("_value >=") + 10); } else if (cf.Contains("_value <=")) { trigger.Condition = ComplianceField.eCondition.lessequals; trigger.Value = cf.Substring(cf.IndexOf("_value <=") + 10); } else if (cf.Contains("_value >")) { trigger.Condition = ComplianceField.eCondition.greaterthan; trigger.Value = cf.Substring(cf.IndexOf("_value >") + 9); } else if (cf.Contains("_value <")) { trigger.Condition = ComplianceField.eCondition.lessthan; trigger.Value = cf.Substring(cf.IndexOf("_value <") + 9); } else if (cf.Contains("_value =")) { trigger.Condition = ComplianceField.eCondition.equals; trigger.Value = cf.Substring(cf.IndexOf("_value =") + 9); } AddComplianceFieldToList(trigger); } tbReportName.Focus(); }
private void bnAddTrigger_Click(object sender, EventArgs e) { if (tbSelectedComplianceField.Text == "") { MessageBox.Show( "Please select a compliance field from the list", "Compliance Report", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (_complianceIndex == -1) { _filterConditions.Add(CreateFilterExpression()); } else { _filterConditions.Insert(_complianceIndex, CreateFilterExpression()); } ComplianceField newComplianceField = new ComplianceField(); string complianceValue = cbValuePicker.Text; int intValue; if (!Int32.TryParse(complianceValue, out intValue) && complianceValue != "") { complianceValue = String.Format("'{0}'", complianceValue); } newComplianceField.TriggerField = _selectedField; newComplianceField.Condition = (ComplianceField.eCondition)cbConditions.SelectedItem.DataValue; newComplianceField.Value = complianceValue; newComplianceField.BooleanValue = (cbBooleanValue.Enabled) ? cbBooleanValue.SelectedItem.ToString() : ""; AddComplianceFieldToList(newComplianceField); _originalFileName = String.Empty; if (lvTriggers.Items.Count > 0) { bnRunComplianceReport.Enabled = true; cbBooleanValue.Enabled = true; } else { bnRunComplianceReport.Enabled = false; } bnSaveComplianceReport.Enabled = true; }
/// <summary> /// Adds a newly defined trigger to the list /// </summary> /// <param name="complianceField"></param> private void AddComplianceFieldToList(ComplianceField complianceField) { UltraListViewSubItem[] subItemArray = new UltraListViewSubItem[3]; subItemArray[0] = new UltraListViewSubItem(); subItemArray[0].Value = complianceField.ConditionAsText; subItemArray[1] = new UltraListViewSubItem(); subItemArray[1].Value = complianceField.Value; subItemArray[2] = new UltraListViewSubItem(); subItemArray[2].Value = (_complianceIndex == 0) ? "" : complianceField.BooleanValue; // UltraListViewItem item = new UltraListViewItem(complianceField.TriggerField, subItemArray); item.Tag = complianceField; if (_complianceIndex == -1) { lvTriggers.Items.Add(item); } else { lvTriggers.Items.Insert(_complianceIndex, item); } }