/// <summary> /// Constructor used for editing an existing format rule /// </summary> /// <param name="dashboardHelper">The dashboard helper to attach</param> public ExpressionAssignDialog(DashboardHelper dashboardHelper, Rule_ExpressionAssign assignRule) { InEditMode = true; this.dashboardHelper = dashboardHelper; this.AssignRule = assignRule; InitializeComponent(); FillSelectionComboboxes(); this.txtDestinationField.Text = AssignRule.DestinationColumnName; this.txtExpression.Text = AssignRule.Expression; this.txtDestinationField.Enabled = false; if (assignRule.DestinationColumnType.Equals("System.String")) { cbxDataType.SelectedIndex = 1; } else { cbxDataType.SelectedIndex = 0; } }
private void btnOK_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtDestinationField.Text)) { MsgBox.ShowError(DashboardSharedStrings.EXPRESSION_ASSIGN_DESTINATION_FIELD_BLANK); this.DialogResult = DialogResult.None; return; } if (!editMode) { foreach (string s in dashboardHelper.GetFieldsAsList()) { if (txtDestinationField.Text.ToLower().Equals(s.ToLower())) { MsgBox.ShowError(DashboardSharedStrings.EXPRESSION_ASSIGN_DESTINATION_FIELD_ALREADY_EXISTS); this.DialogResult = DialogResult.None; return; } } foreach (IDashboardRule rule in dashboardHelper.Rules) { if (rule is DataAssignmentRule) { DataAssignmentRule assignmentRule = rule as DataAssignmentRule; if (txtDestinationField.Text.ToLower().Equals(assignmentRule.DestinationColumnName.ToLower())) { MsgBox.ShowError(DashboardSharedStrings.EXPRESSION_ASSIGN_DESTINATION_FIELD_ALREADY_EXISTS_AS_RECODED); this.DialogResult = DialogResult.None; return; } } } } if (cbxDataType.Text.Equals("Text")) { AssignRule = new Rule_ExpressionAssign(this.dashboardHelper, "Assign " + txtDestinationField.Text + " the expression: " + txtExpression.Text, txtDestinationField.Text, "System.String", txtExpression.Text); } else if (cbxDataType.Text.Equals("Date/Time")) { AssignRule = new Rule_ExpressionAssign(this.dashboardHelper, "Assign " + txtDestinationField.Text + " the expression: " + txtExpression.Text, txtDestinationField.Text, "System.DateTime", txtExpression.Text); } else { AssignRule = new Rule_ExpressionAssign(this.dashboardHelper, "Assign " + txtDestinationField.Text + " the expression: " + txtExpression.Text, txtDestinationField.Text, txtExpression.Text); } this.DialogResult = DialogResult.OK; this.Close(); }