/// <summary> /// Parameterized Constructor /// </summary> /// <param name="editMode"></param> /// <param name="selectedItem"></param> public RecodedVariable(bool editMode, ListBoxItemSource selectedItem = null) { InitializeComponent(); SelectedItem = selectedItem; this.editMode = editMode; FillComboBox(); }
/// <summary> /// Parametrized Constructor for Edit functionality. /// </summary> /// <param name="editMode"></param> /// <param name="item"></param> public FormattedValue(bool editMode, ListBoxItemSource item) { this.editMode = editMode; InitializeComponent(); FillSelectionComboboxes(); IntializeFormattedValue(item); }
/// <summary> /// Parametrized Constructor for Edit functionality. /// </summary> /// <param name="editMode"></param> /// <param name="item"></param> public ConditionalAssign(bool editMode, ListBoxItemSource item) { InitializeComponent(); this.editMode = editMode; SelectedItem = item; FillConditionalComboboxes(); EwavRule_ConditionalAssign ca = (EwavRule_ConditionalAssign)SelectedItem.Rule; txtDestinationField.IsEnabled = false; cbxFieldType.SelectedIndex = SearchColumnIndex(cbxFieldType.Items, ca.CbxFieldType.ToString()); cbxFieldType.IsEnabled = false; switch (cbxFieldType.SelectedValue.ToString().ToUpper().Replace("/", "")) { case "YESNO": cmbAssignValue.SelectedIndex = SearchColumnIndex(cmbAssignValue.Items, (ca.AssignValue == "True") ? "Yes" : "No"); if (ca.ElseValue.Length > 0) { cmbElseValue.SelectedIndex = SearchColumnIndex(cmbElseValue.Items, (ca.ElseValue == "True") ? "Yes" : "No"); } if (cmbElseValue.SelectedIndex > 0) { checkboxUseElse.IsChecked = true; } break; default: txtAssignValue.Text = ca.AssignValue; txtElseValue.Text = ca.ElseValue; if (ca.ElseValue.Length > 0) { checkboxUseElse.IsChecked = true; } break; } if (checkboxUseElse.IsChecked == true) { txtElseValue.IsEnabled = true; } else { txtElseValue.IsEnabled = false; } txtDestinationField.Text = ca.TxtDestination; //FillSelectionComboboxes(); pnlGuidedMode.Visibility = System.Windows.Visibility.Visible; //pnlBtns.Visibility = System.Windows.Visibility.Visible; pnlAdvancedMode.Visibility = System.Windows.Visibility.Collapsed; pnlContainer.Visibility = System.Windows.Visibility.Visible; //ctrl = new EwavFilterControl(); FilterCtrl.FilterType = FilterControlType.Conditional; FilterCtrl.ConstructStackPanelFromDataFilters(((EwavRule_ConditionalAssign)SelectedItem.Rule).ConditionsList); }
/// <summary> /// Intializes the control for edit functionality. /// </summary> /// <param name="item"></param> private void IntializeFormattedValue(ListBoxItemSource item) { for (int i = 0; i < applicationViewModel.EwavDefinedVariables.Count; i++) { if (item.DestinationColumn == applicationViewModel.EwavDefinedVariables[i].VaraiableName) { formatRule = applicationViewModel.EwavDefinedVariables[i] as EwavRule_Format; break; } } txtDestinationField.Text = formatRule.TxtDestinationField; txtDestinationField.IsEnabled = false; cbxFieldName.SelectedIndex = GetSelectedIndex(cbxFieldName.Items, formatRule.CbxFieldName); cbxFieldName.IsEnabled = false; cbxFormatOptions.SelectedIndex = GetSelectedIndex(cbxFormatOptions.Items, formatRule.CbxFormatOptions); }
//int index = -1; //private EwavColumn sourceColumn; //List<EwavColumn> SourceColumns; public AssignedExpression(bool editMode, ListBoxItemSource selectedItem = null) { SelectedItem = selectedItem; this.editMode = editMode; InitializeComponent(); if (editMode) { txtDestinationField.Text = selectedItem.NewColumn; txtExpression.Text = selectedItem.AssignExpression; } //else //{ CBXFieldCols.Add(new EwavColumn { Name = "Text", SqlDataTypeAsString = ColumnDataType.Text }); CBXFieldCols.Add(new EwavColumn { Name = "Numeric", SqlDataTypeAsString = ColumnDataType.Numeric }); cbxDataType.ItemsSource = CBXFieldCols; cbxDataType.DisplayMemberPath = "Name"; if (editMode) { if (selectedItem.DataType == "Text") { cbxDataType.SelectedIndex = 0; } else { cbxDataType.SelectedIndex = 1; } } else { cbxDataType.SelectedIndex = 0; } //} }
public GroupVariable(bool editMode, ListBoxItemSource selectedItem = null) { SelectedItem = selectedItem; this.editMode = editMode; ClientCommon.Common cmnClass = new ClientCommon.Common(); InitializeComponent(); FillListBox(); if (editMode) { EwavRule_GroupVariable rule = (EwavRule_GroupVariable)selectedItem.Rule; txtDestinationField.Text = rule.VaraiableName; txtDestinationField.IsEnabled = false; foreach (var item in rule.Items) { //cbxField.SelectedIndex = cmnClass.FindIndexToSelect(cmnClass.GetItemsSource(GetFieldPrimaryDataType), child.Value.ToString().Replace("<", "<")); //int index = -1; //lbxFieldName.ItemsSource lbxFieldName.SelectedItems.Add(cmnClass.FindEwavColumn(item.VarName, ReadColumns())); } } }
/// <summary> /// Event Hanlder that adds the selected rule. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OKButton_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(txtDestinationField.Text)) { MessageBox.Show("Destination field is blank."); this.DialogResult = true; return; } List <ListBoxItemSource> TempList = applicationViewModel.ListOfRules.Where(t => t.DestinationColumn.ToLower() == txtDestinationField.Text.ToLower()).ToList(); if (TempList.Count > 0 && !editMode) { MessageBox.Show("Variable name already exists."); return; } if (!ValidateDataGrid((List <EwavRuleRecodeDataRow>)dataGridViewRecode.ItemsSource)) { MessageBox.Show("Grid has some empty or invalid data."); return; } //following will not run while editing rule. if (!editMode) { List <ColumnDataType> columnDataType = new List <ColumnDataType>(); columnDataType.Add(ColumnDataType.Boolean); columnDataType.Add(ColumnDataType.Numeric); columnDataType.Add(ColumnDataType.Text); CBXFieldCols = from cols in SourceColumns where columnDataType.Contains(cols.SqlDataTypeAsString) orderby cols.Name select cols; List <EwavColumn> colsList = CBXFieldCols.ToList(); List <string> ColumnsList = new List <string>(); for (int i = 0; i < colsList.Count; i++) { ColumnsList.Add(colsList[i].Name); } } string friendlyRule = "Recode the values in " + sourceColumn.Name + " to " + txtDestinationField.Text + ""; EwavRule_Recode rule = new EwavRule_Recode(); rule.Friendlyrule = friendlyRule; rule.SourceColumnName = sourceColumnName; rule.SourceColumnType = ColumnSourceDataType; rule.TxtDestinationField = txtDestinationField.Text; rule.DestinationFieldType = DestinationFieldType; rule.RecodeTable = (List <EwavRuleRecodeDataRow>)dataGridViewRecode.ItemsSource; rule.TxtElseValue = txtElseValue.Text; rule.CheckboxMaintainSortOrderIndicator = (bool)checkboxMaintainSortOrder.IsChecked; rule.CheckboxUseWildcardsIndicator = (bool)checkboxUseWildcards.IsChecked; // rule.EwavRuleType = EwavRuleType.Recode; rule.VaraiableName = txtDestinationField.Text; rule.VaraiableDataType = GetDestinationColumnType(DestinationFieldType).ToString(); ListBoxItemSource listBoxItem = new ListBoxItemSource(); listBoxItem.RuleString = friendlyRule; listBoxItem.SourceColumn = sourceColumn.Name; listBoxItem.DestinationColumn = txtDestinationField.Text; listBoxItem.Rule = rule; EwavColumn newColumn = new EwavColumn(); newColumn.Name = txtDestinationField.Text; newColumn.SqlDataTypeAsString = GetDestinationColumnType(DestinationFieldType); newColumn.NoCamelName = txtDestinationField.Text; newColumn.IsUserDefined = true; //following logic is used to create a relationship between UserDefined variable using another userDefined variable. sourceColumn.ChildVariableName = newColumn.Name; //Shows the error message if name already exists. if (!editMode) { for (int i = 0; i < applicationViewModel.EwavDefinedVariables.Count; i++) { if (applicationViewModel.EwavDefinedVariables[i].VaraiableName == rule.VaraiableName) { MessageBox.Show("Rule Name already exists. Select another name."); return; } } } //determins if item already exists in collections. if it does, it is removed to get added again as a new item. bool itemExists = false; for (int i = 0; i < applicationViewModel.EwavDefinedVariables.Count; i++) { if (applicationViewModel.EwavDefinedVariables[i] is EwavRule_Recode) { EwavRule_Recode ruleRec = applicationViewModel.EwavDefinedVariables[i] as EwavRule_Recode; if (txtDestinationField.Text == ruleRec.TxtDestinationField) { applicationViewModel.EwavDefinedVariables.RemoveAt(i); itemExists = true; } } } applicationViewModel.InvokePreColumnChangedEvent(); if (!itemExists) { applicationViewModel.EwavSelectedDatasource.AllColumns.Add(newColumn); } else { ListBoxItemSource item = (ListBoxItemSource)applicationViewModel.ListOfRules.Single(r => r.DestinationColumn == listBoxItem.DestinationColumn); applicationViewModel.ListOfRules.Remove(item); } applicationViewModel.ListOfRules.Add(listBoxItem); List <EwavRule_Base> listOfRules = new List <EwavRule_Base>(); listOfRules = applicationViewModel.EwavDefinedVariables; listOfRules.Add(rule); applicationViewModel.EwavDefinedVariables = listOfRules; this.DialogResult = true; }
/// <summary> /// Handles the addition of rule in EwavDefinedVariables /// addition of rule in ListOfRules used to bind ListBox /// addition of newly created column. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OKButton_Click(object sender, RoutedEventArgs e) { List <ListBoxItemSource> TempList = applicationViewModel.ListOfRules.Where(t => t.DestinationColumn.ToLower() == txtDestinationField.Text.ToLower()).ToList(); Boolean columnNameExists = false; columnNameExists = applicationViewModel.EwavSelectedDatasource.AllColumns.Any(c => c.Name.ToLower() == txtDestinationField.Text.ToLower()); if ((TempList.Count > 0 && !editMode) || columnNameExists) { MessageBox.Show("Variable name already exists."); return; } if (string.IsNullOrEmpty(txtDestinationField.Text)) { MessageBox.Show("Destination field is blank."); //this.DialogResult = DialogResult.None; return; } if (cbxFormatOptions.SelectedIndex < 0) { MessageBox.Show("No format options selected."); //this.DialogResult = DialogResult.None; return; } string friendlyLabel = "Format the display of " + ((EwavColumn)cbxFieldName.SelectedItem).Name.ToString() + " to show " + cbxFormatOptions.SelectedItem.ToString() + " and place the formatted values in " + txtDestinationField.Text; //, cbxFieldName.SelectedItem.ToString(), txtDestinationField.Text, cbxFormatOptions.SelectedItem.ToString(), GetFormatType()); EwavRule_Format rule = new EwavRule_Format(); rule.FriendlyLabel = friendlyLabel; rule.CbxFieldName = ((EwavColumn)cbxFieldName.SelectedItem).Name; rule.TxtDestinationField = txtDestinationField.Text; rule.FormatTypes = GetFormatType(); rule.CbxFormatOptions = cbxFormatOptions.SelectedItem.ToString(); rule.VaraiableName = txtDestinationField.Text; rule.VaraiableDataType = ColumnDataType.Text.ToString(); ListBoxItemSource listBoxItem = new ListBoxItemSource(); listBoxItem.RuleString = friendlyLabel; //listBoxItem.SourceColumn = sourceColumn.Name; listBoxItem.DestinationColumn = txtDestinationField.Text; listBoxItem.RuleType = EwavRuleType.Formatted; listBoxItem.Rule = rule; listBoxItem.SourceColumn = null; EwavColumn newcolumn = new EwavColumn(); newcolumn.Name = txtDestinationField.Text; newcolumn.SqlDataTypeAsString = ColumnDataType.Text; newcolumn.NoCamelName = txtDestinationField.Text; newcolumn.IsUserDefined = true; applicationViewModel.InvokePreColumnChangedEvent(); List <EwavRule_Base> rules = new List <EwavRule_Base>(); rules = applicationViewModel.EwavDefinedVariables; //Shows the error message if name already exists. if (!editMode) { for (int i = 0; i < applicationViewModel.EwavDefinedVariables.Count; i++) { if (applicationViewModel.EwavDefinedVariables[i].VaraiableName == rule.VaraiableName) { MessageBox.Show("Rule Name already exists. Select another name."); return; } } } for (int i = 0; i < rules.Count; i++) { if (rule.TxtDestinationField == rules[i].VaraiableName) { rules.RemoveAt(i); applicationViewModel.ListOfRules.RemoveAt(i); break; } } if (!editMode) { applicationViewModel.EwavSelectedDatasource.AllColumns.Add(newcolumn); } applicationViewModel.ListOfRules.Add(listBoxItem); List <EwavRule_Base> listOfRules = new List <EwavRule_Base>(); listOfRules = applicationViewModel.EwavDefinedVariables; listOfRules.Add(rule); applicationViewModel.EwavDefinedVariables = listOfRules; this.DialogResult = true; }
private void OKButton_Click(object sender, RoutedEventArgs e) { // add data to new rule add to list // add new rule to listbox item source kk // add column to Allcolumns List <ListBoxItemSource> TempList = applicationViewModel.ListOfRules.Where(t => t.DestinationColumn.ToLower() == txtDestinationField.Text.ToLower()).ToList(); if (TempList.Count > 0 && !editMode) { MessageBox.Show("Variable name already exists."); return; } EwavRule_ExpressionAssign ea = new EwavRule_ExpressionAssign(); ea.Expression = txtExpression.Text; if (((EwavColumn)cbxDataType.SelectedItem).SqlDataTypeAsString.ToString() == "Text") { ea.DataType = "System.String"; } else if (((EwavColumn)cbxDataType.SelectedItem).SqlDataTypeAsString.ToString() == "Numeric") { ea.DataType = "System.Decimal"; } // "System.String"; ea.FriendlyRule = string.Format("Assign {0} the expression: {1}", txtDestinationField.Text, txtExpression.Text); ea.DestinationColumnName = txtDestinationField.Text; ea.VaraiableName = txtDestinationField.Text; List <EwavRule_Base> rules = new List <EwavRule_Base>(); rules = applicationViewModel.EwavDefinedVariables; //Shows the error message if name already exists. if (!editMode) { for (int i = 0; i < applicationViewModel.EwavDefinedVariables.Count; i++) { if (applicationViewModel.EwavDefinedVariables[i].VaraiableName == ea.VaraiableName) { MessageBox.Show("Rule Name already exists. Select another name."); return; } } } for (int i = 0; i < rules.Count; i++) { if (ea.DestinationColumnName == rules[i].VaraiableName) { rules.RemoveAt(i); applicationViewModel.ListOfRules.RemoveAt(i); break; } } //EwavRule_ExpressionAssign ea = new EwavRule_ExpressionAssign(); //ea.Expression = txtExpression.Text; //ea.DataType = "System.String"; //ea.FriendlyRule = "Assign " + txtDestinationField.Text + " the expression: " + txtExpression.Text; //ea.DestinationColumnName = txtDestinationField.Text; applicationViewModel.InvokePreColumnChangedEvent(); // applicationViewModel.EwavDefinedVariables.Add(ea); ListBoxItemSource listBoxItem = new ListBoxItemSource(); listBoxItem.RuleString = ea.FriendlyRule; listBoxItem.NewColumn = txtDestinationField.Text; listBoxItem.AssignExpression = txtExpression.Text; listBoxItem.DataType = ((EwavColumn)cbxDataType.SelectedItem).SqlDataTypeAsString.ToString(); listBoxItem.DestinationColumn = txtDestinationField.Text; listBoxItem.SourceColumn = null; listBoxItem.RuleType = EwavRuleType.Assign; ea.VaraiableDataType = ((EwavColumn)cbxDataType.SelectedItem).SqlDataTypeAsString.ToString(); listBoxItem.Rule = ea; EwavColumn newColumn = new EwavColumn(); newColumn.Name = txtDestinationField.Text; newColumn.SqlDataTypeAsString = ((EwavColumn)cbxDataType.SelectedItem).SqlDataTypeAsString; newColumn.NoCamelName = txtDestinationField.Text; newColumn.IsUserDefined = true; if (editMode == false) { applicationViewModel.EwavSelectedDatasource.AllColumns.Add(newColumn); } applicationViewModel.ListOfRules.Add(listBoxItem); List <EwavRule_Base> tempList = applicationViewModel.EwavDefinedVariables; tempList.Add(ea); applicationViewModel.EwavDefinedVariables = tempList; this.DialogResult = true; }
private void OKButton_Click(object sender, RoutedEventArgs e) { EwavRule_GroupVariable rule = new EwavRule_GroupVariable(); if (txtDestinationField.Text.Trim().Length == 0) { MessageBox.Show("Group Field Name must be entered."); return; } if (lbxFieldName.SelectedItems.Count == 0) { MessageBox.Show("Select items to include in the group."); return; } List <MyString> lbxItems = new List <MyString>(); StringBuilder listOfColumnNamesSelected = new StringBuilder(); foreach (var item in lbxFieldName.SelectedItems) { MyString itemValue = new MyString(); itemValue.VarName = ((EwavColumn)item).Name.ToString(); lbxItems.Add(itemValue); listOfColumnNamesSelected.Append(itemValue.VarName + ","); } string friendlyLabel = "Create a variable group called " + txtDestinationField.Text + " and include: " + listOfColumnNamesSelected.ToString().Substring(0, listOfColumnNamesSelected.ToString().Length - 1); rule.Items = lbxItems; rule.VaraiableName = txtDestinationField.Text; rule.VaraiableDataType = ColumnDataType.GroupVariable.ToString(); rule.FriendlyLabel = friendlyLabel; ListBoxItemSource listBoxItem = new ListBoxItemSource(); listBoxItem.RuleString = friendlyLabel; //listBoxItem.SourceColumn = sourceColumn.Name; listBoxItem.DestinationColumn = txtDestinationField.Text; listBoxItem.NewColumn = txtDestinationField.Text; listBoxItem.RuleType = EwavRuleType.GroupVariable; listBoxItem.SourceColumn = null; listBoxItem.Rule = rule; EwavColumn newcolumn = new EwavColumn(); newcolumn.Name = txtDestinationField.Text; newcolumn.SqlDataTypeAsString = ColumnDataType.GroupVariable; newcolumn.NoCamelName = txtDestinationField.Text; newcolumn.IsUserDefined = true; applicationViewModel.InvokePreColumnChangedEvent(); List <EwavRule_Base> rules = new List <EwavRule_Base>(); rules = applicationViewModel.EwavDefinedVariables; //Shows the error message if name already exists. if (!editMode) { for (int i = 0; i < applicationViewModel.EwavDefinedVariables.Count; i++) { if (applicationViewModel.EwavDefinedVariables[i].VaraiableName == rule.VaraiableName) { MessageBox.Show("Rule Name already exists. Select another name."); return; } } } for (int i = 0; i < rules.Count; i++) { if (rule.VaraiableName == rules[i].VaraiableName) { rules.RemoveAt(i); applicationViewModel.ListOfRules.RemoveAt(i); break; } } if (!editMode) { applicationViewModel.EwavSelectedDatasource.AllColumns.Add(newcolumn); } applicationViewModel.ListOfRules.Add(listBoxItem); List <EwavRule_Base> listOfRules = new List <EwavRule_Base>(); listOfRules = applicationViewModel.EwavDefinedVariables; listOfRules.Add(rule); applicationViewModel.EwavDefinedVariables = listOfRules; this.DialogResult = true; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OKButton_Click(object sender, RoutedEventArgs e) { List <ListBoxItemSource> TempList = applicationViewModel.ListOfRules.Where(t => t.DestinationColumn.ToLower() == txtDestinationField.Text.ToLower()).ToList(); Boolean columnNameExists = false; columnNameExists = applicationViewModel.EwavSelectedDatasource.AllColumns.Any(c => c.Name.ToLower() == txtDestinationField.Text.ToLower()); //if ((TempList.Count > 0 && !editMode) || columnNameExists) //{ // MessageBox.Show("Variable name already exists."); // return; //} if (ValidateControl()) { List <EwavDataFilterCondition> listOfFilters = FilterCtrl.CreateDataFilters(); string destinationColumnType = "System.String"; ColumnDataType colType = ColumnDataType.Text; object elseValue = this.txtElseValue.Text; object assignValue = this.txtAssignValue.Text; cbxFieldTypeEnum fieldEnum = cbxFieldTypeEnum.None; switch (cbxFieldType.SelectedItem.ToString()) { case "Yes/No": destinationColumnType = "System.Boolean"; if (cmbAssignValue.SelectedIndex == 0) { assignValue = true; } else if (cmbAssignValue.SelectedIndex == 1) { assignValue = false; } if (checkboxUseElse.IsChecked == false) { elseValue = ""; } else if (cmbElseValue.SelectedIndex == 0) { elseValue = true; } else if (cmbElseValue.SelectedIndex == 1) { elseValue = false; } fieldEnum = cbxFieldTypeEnum.YesNo; colType = ColumnDataType.Boolean; break; case "Text": destinationColumnType = "System.String"; if (checkboxUseElse.IsChecked == false) { elseValue = ""; } else { elseValue = this.txtElseValue.Text; } assignValue = this.txtAssignValue.Text; fieldEnum = cbxFieldTypeEnum.Text; colType = ColumnDataType.Text; break; case "Numeric": destinationColumnType = "System.Decimal"; decimal decElse; decimal decAssign; if (checkboxUseElse.IsChecked == false) { elseValue = ""; } else { bool success1 = Decimal.TryParse(this.txtElseValue.Text, out decElse); if (success1) { elseValue = decElse; } } bool success2 = Decimal.TryParse(this.txtAssignValue.Text, out decAssign); if (success2) { assignValue = decAssign; } //if ((!success1 && checkboxUseElse.IsChecked) || !success2) //{ // Epi.Windows.MsgBox.ShowError("Invalid input detected."); // this.DialogResult = DialogResult.None; // return; //} fieldEnum = cbxFieldTypeEnum.Numeric; colType = ColumnDataType.Numeric; break; } string assignText = FilterCtrl.ConditionText.ToString().Substring(0, FilterCtrl.ConditionText.Length - 3); if (checkboxUseElse.IsChecked == true) { assignText += ". Otherwise, assign " + txtDestinationField.Text + " the value " + elseValue + "."; } //conditionText = ( ListBoxItemSource listBoxItem = new ListBoxItemSource(); listBoxItem.RuleString = "Assign " + txtDestinationField.Text + " the value " + assignValue + " when " + assignText; listBoxItem.SourceColumn = null; listBoxItem.DestinationColumn = txtDestinationField.Text; listBoxItem.RuleType = EwavRuleType.conditional; EwavRule_ConditionalAssign rule = new EwavRule_ConditionalAssign(); rule.TxtDestination = txtDestinationField.Text; rule.DestinationColumnType = destinationColumnType; rule.AssignValue = assignValue.ToString(); rule.ElseValue = elseValue.ToString(); rule.ConditionsList = listOfFilters; rule.CbxFieldType = fieldEnum; rule.VaraiableName = txtDestinationField.Text; rule.VaraiableDataType = colType.ToString(); MyString tempStr = new MyString(); tempStr.VarName = "Assign " + txtDestinationField.Text + " the value " + assignValue + " when " + assignText; rule.FriendlyRule = tempStr; EwavColumn newColumn = new EwavColumn(); newColumn.Name = txtDestinationField.Text; newColumn.SqlDataTypeAsString = colType;// ColumnDataType.Text; newColumn.NoCamelName = txtDestinationField.Text; newColumn.IsUserDefined = true; applicationViewModel.InvokePreColumnChangedEvent(); List <EwavRule_Base> rules = new List <EwavRule_Base>(); rules = applicationViewModel.EwavDefinedVariables; listBoxItem.Rule = rule; //listBoxItem.FilterConditionsPanel = pnlContainer; //Shows the error message if name already exists. if (!editMode) { for (int i = 0; i < applicationViewModel.EwavDefinedVariables.Count; i++) { if (applicationViewModel.EwavDefinedVariables[i].VaraiableName == rule.VaraiableName) { MessageBox.Show("Rule Name already exists. Select another name."); return; } } } for (int i = 0; i < rules.Count; i++) { if (rule.TxtDestination == rules[i].VaraiableName) { rules[i] = rule; //applicationViewModel.ListOfRules.RemoveAt(i); applicationViewModel.ListOfRules[i] = listBoxItem; break; } } if (!editMode) { applicationViewModel.EwavSelectedDatasource.AllColumns.Add(newColumn); applicationViewModel.ListOfRules.Add(listBoxItem); rules.Add(rule); } applicationViewModel.EwavDefinedVariables = rules; this.DialogResult = true; } }