示例#1
0
        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();
        }
示例#2
0
        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;
        }
示例#3
0
        /// <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);
            }
        }