private void StartExportCommandExecute() { switch (RecordScope) { case "Deleted": RecordProcessingScope = RecordProcessingScope.Deleted; break; case "Both": RecordProcessingScope = RecordProcessingScope.Both; break; case "Active": default: RecordProcessingScope = RecordProcessingScope.Undeleted; break; } Epi.ImportExport.Filters.ConditionJoinTypes op = Epi.ImportExport.Filters.ConditionJoinTypes.And; if (FilterJoinType != null && FilterJoinType.Equals("or", StringComparison.OrdinalIgnoreCase)) { op = Epi.ImportExport.Filters.ConditionJoinTypes.Or; } ContactTracing.ImportExport.SyncFileFilters filters = new ContactTracing.ImportExport.SyncFileFilters(Database, op); if (ApplyFilters == true) { #region Check to see if user's filtering options make sense //if (String.IsNullOrEmpty(varName1) && String.IsNullOrEmpty(value1)) //{ // MessageBox.Show("Neither a variable nor a value have been selected for the first condition. Please ensure both a variable and a value are present before proceeding.", "Missing filter information", MessageBoxButton.OK, MessageBoxImage.Error); // return; //} //if (!String.IsNullOrEmpty(varName1) && String.IsNullOrEmpty(value1)) //{ // MessageBox.Show("A variable has been selected for the first condition, but no value has been specified. Please specify a value and try again.", "No value specified", MessageBoxButton.OK, MessageBoxImage.Error); // return; //} //if (!String.IsNullOrEmpty(value1) && String.IsNullOrEmpty(varName1)) //{ // MessageBox.Show("A value has been selected for the first condition, but no variable has been specified. Please specify a variable on which to filter and try again.", "No variable specified", MessageBoxButton.OK, MessageBoxImage.Error); // return; //} //if (cmbLogicalOperator.SelectedIndex == 1 && String.IsNullOrEmpty(varName2) && String.IsNullOrEmpty(value2)) //{ // MessageBox.Show("Neither a variable nor a value have been selected for the second condition. Please ensure both a variable and a value are present before proceeding.", "Missing filter information", MessageBoxButton.OK, MessageBoxImage.Error); // return; //} //if (cmbLogicalOperator.SelectedIndex == 1 && !String.IsNullOrEmpty(varName2) && String.IsNullOrEmpty(value2)) //{ // MessageBox.Show("A variable has been selected for the second condition, but no value has been specified. Please specify a value and try again.", "No value specified", MessageBoxButton.OK, MessageBoxImage.Error); // return; //} //if (cmbLogicalOperator.SelectedIndex == 1 && !String.IsNullOrEmpty(value2) && String.IsNullOrEmpty(varName2)) //{ // MessageBox.Show("A value has been selected for the second condition, but no variable has been specified. Please specify a variable on which to filter and try again.", "No variable specified", MessageBoxButton.OK, MessageBoxImage.Error); // return; //} #endregion if (!String.IsNullOrEmpty(FilterField1) && !String.IsNullOrEmpty(FilterValue1)) { if (FilterOperator1.Equals("equals", StringComparison.OrdinalIgnoreCase)) { TextRowFilterCondition tfc = new TextRowFilterCondition("[" + FilterField1 + "] = @" + FilterField1 + "", "" + FilterField1 + "", "@" + FilterField1 + "", FilterValue1); tfc.Description = "" + FilterField1 + " equals " + FilterValue1; filters.Add(tfc); } else { string tempFilterValue1 = "%" + FilterValue1 + "%"; TextRowFilterCondition tfc = new TextRowFilterCondition("[" + FilterField1 + "] LIKE @" + FilterField1 + "", "" + FilterField1 + "", "@" + FilterField1 + "", tempFilterValue1); tfc.Description = "" + FilterField1 + " contains " + tempFilterValue1; tfc.ConditionOperator = ConditionOperators.Contains; filters.Add(tfc); } } if (!String.IsNullOrEmpty(FilterField2) && !String.IsNullOrEmpty(FilterValue2)) { if (FilterOperator2.Equals("equals", StringComparison.OrdinalIgnoreCase)) { TextRowFilterCondition tfc = new TextRowFilterCondition("[" + FilterField2 + "] = @" + FilterField2 + "", "" + FilterField2 + "", "@" + FilterField2 + "", FilterValue2); tfc.Description = "" + FilterField2 + " equals " + FilterValue2; filters.Add(tfc); } else { string tempFilterValue2 = "%" + FilterValue2 + "%"; TextRowFilterCondition tfc = new TextRowFilterCondition("[" + FilterField2 + "] LIKE @" + FilterField2 + "", "" + FilterField2 + "", "@" + FilterField2 + "", tempFilterValue2); tfc.Description = "" + FilterField2 + " contains " + tempFilterValue2; tfc.ConditionOperator = ConditionOperators.Contains; filters.Add(tfc); } } } CreateCaseSyncFileStart(filters); }