public static int InserNewFilter(EnvComparisonFilter envComparisonFilter)
        {
            int returnedId = -1;
            SqlCeConnection conn = BackEndUtils.GetSqlConnection();
            try {
                conn.Open();
                SqlCeCommand command = new SqlCeCommand(Env_Comparison_Filters_SQL.commandInsertNewComparisonFilter, conn);
                command.Parameters.Add("@name", envComparisonFilter.Name);
                command.Parameters.Add("@description", envComparisonFilter.Description);
                command.Parameters.Add("@filter", envComparisonFilter.FilterPattern);
                command.Parameters.Add("@userid", envComparisonFilter.AddedByUserId);
                command.Parameters.Add("@filterType", envComparisonFilter.FilterType);

                command.Parameters.Add("@dateAdded", DateTime.Now);

                if(envComparisonFilter.FilterType == 2) {
                    command.Parameters.Add("@isFolderDeletion", envComparisonFilter.IsFolderDeletion);
                    command.Parameters.Add("@filterScript", envComparisonFilter.FilterScript);
                    command.Parameters.Add("@exclusionList", envComparisonFilter.ExclusionList);
                }
                int numberAffectedRows = Convert.ToInt32(command.ExecuteNonQuery());
                returnedId =  BackEndUtils.GetMaxId("Env_Comparison_Filters", conn);
            } finally {
                conn.Close();
            }
            return returnedId;
        }
 public static void UpdatedFilterById(EnvComparisonFilter filter)
 {
     SqlCeConnection conn = BackEndUtils.GetSqlConnection();
     try {
         conn.Open();
         SqlCeCommand command = new SqlCeCommand(Env_Comparison_Filters_SQL.commandUpdateComparisonFilterById, conn);
         command.Parameters.Add("@name", filter.Name);
         command.Parameters.Add("@description", filter.Description);
         command.Parameters.Add("@filter", filter.FilterPattern);
         command.Parameters.Add("@filterType", filter.FilterType);
         command.Parameters.Add("@id", filter.filterId);
         command.Parameters.Add("@modifiedByUserId",CommonUtils.LoggedInUserId);
         command.Parameters.Add("@dateModified",DateTime.Now);
            if(filter.FilterType == 2) {
             command.Parameters.Add("@isFolderDeletion", filter.IsFolderDeletion);
             command.Parameters.Add("@filterScript", filter.FilterScript);
             command.Parameters.Add("@exclusionList", filter.ExclusionList);
         }
         command.ExecuteNonQuery();
     } finally {
         conn.Close();
     }
 }
 private void FillUiFromSelectedFilter(EnvComparisonFilter selectedFilter)
 {
     txtFilterName.Text = selectedFilter.Name;
     txtFilterDescription.Text = selectedFilter.Description;
     txtFilterPattern.Text = selectedFilter.FilterPattern;
     btnAddFilter.Enabled = false;
     btnSaveFilter.Enabled = true;
     cboFilterType.SelectedIndex = selectedFilter.FilterType;
     if (selectedFilter.FilterType == (int)EnvComparisonFilter.ComparisonFilterType.Deletion) {
         cboRemoveFileOrFolder.SelectedIndex = selectedFilter.IsFolderDeletion ? 1 : 0;
         txtGeneratedScript.Text = string.IsNullOrEmpty(selectedFilter.FilterScript) ? GetGeneratedScript(selectedFilter.FilterPattern,selectedFilter.IsFolderDeletion) : selectedFilter.FilterScript;
         txtExclusionList.Text = selectedFilter.ExclusionList;
     }
 }
 private void btnSaveFilter_Click(object sender, EventArgs e)
 {
     try {
         if (lvAvailableFilters.SelectedItems.Count > 0) {
             EnvComparisonFilter envComparisonFilter = (lvAvailableFilters.SelectedItems[0].Tag as EnvComparisonFilter);
             if (envComparisonFilter !=null) {
                 int filterId = envComparisonFilter.filterId;
                 string name = txtFilterName.Text.Trim();
                 string description = txtFilterDescription.Text.Trim();
                 string pattern = txtFilterPattern.Text.Trim();
                 if (IsValidToSaveFilter(filterId, name, description, pattern)) {
                     EnvComparisonFilter filter = new EnvComparisonFilter(filterId, name, description, pattern, (int)cboFilterType.SelectedItem, CommonUtils.LoggedInUserId);
                     if (cboFilterType.SelectedIndex == (int)EnvComparisonFilter.ComparisonFilterType.Deletion) {
                         filter.IsFolderDeletion = cboRemoveFileOrFolder.SelectedIndex == 1;
                         filter.FilterScript = txtGeneratedScript.Text;
                         filter.ExclusionList = txtExclusionList.Text;
                     }
                     Env_Comparison_Filters.UpdatedFilterById(filter);
                     ReloadAllFiltersFromDatabase();
                     CommonUtils.ShowInformation("Filter ["+filter.Name+"] is saved.",false);
                 }
             }
         }
     } catch (Exception ex) {
         CommonUtils.ShowError(ex.Message, ex);
     }
 }
 private void btnApplyCustomFilter_Click(object sender, EventArgs e)
 {
     try {
         SAVED_SEARCH_RESULTS = CopyDataGridToDataTable(dgvResults);
         List<EnvComparisonFilter> filters = new List<EnvComparisonFilter>();
         EnvComparisonFilter filter = new EnvComparisonFilter(0, "customFilter", "oneUsage", WildcardToRegex(cboCustomFilter.Text.Trim()), 0, 0);
         filters.Add(filter);
         ApplySelectedFiltersToSearchResults(filters);
         //ApplyCustomSearchFilter(txtCustomFilter.Text.Trim());
         cboCustomFilter.Items.Add(cboCustomFilter.Text);
     } catch (Exception ex) {
         CommonUtils.ShowError(ex.Message, ex);
     }
 }
 private void btnAddFilter_Click(object sender, EventArgs e)
 {
     try {
         string name = txtFilterName.Text.Trim();
         string description = txtFilterDescription.Text.Trim();
         string pattern = txtFilterPattern.Text.Trim();
         if (IsValidToAddFilter(name, description, pattern)) {
             if (cboFilterType.SelectedIndex == (int)EnvComparisonFilter.ComparisonFilterType.Deletion) {
                 //deletionMode
                 //cboRemoveFileOrFolder.SelectedIndex=0 ==> file
                 //cboRemoveFileOrFolder.SelectedIndex=1 ==> folder
                 EnvComparisonFilter filter = new EnvComparisonFilter(-1, name, description, pattern, cboFilterType.SelectedIndex, CommonUtils.LoggedInUserId, cboRemoveFileOrFolder.SelectedIndex==1, txtGeneratedScript.Text,txtExclusionList.Text);
                 int filterId = Env_Comparison_Filters.InserNewFilter(filter);
                 CommonUtils.ShowInformation("Deletion Filter ["+txtFilterName.Text+"] has beed added.",false);
                 ResetForm();
                 ReloadAllFiltersFromDatabase();
             } else {
                 //all other modes
                 EnvComparisonFilter filter = new EnvComparisonFilter(-1, name, description, pattern, cboFilterType.SelectedIndex, CommonUtils.LoggedInUserId);
                 int filterId = Env_Comparison_Filters.InserNewFilter(filter);
                 CommonUtils.ShowInformation("Filter ["+txtFilterName.Text+"] has been added.",false);
                 ResetForm();
                 ReloadAllFiltersFromDatabase();
             }
         }
     } catch (Exception ex) {
         CommonUtils.ShowError(ex.Message, ex);
     }
 }
 private void RemoveDiffFilesFromResults(string filter)
 {
     List<EnvComparisonFilter> filters = new List<EnvComparisonFilter>();
     EnvComparisonFilter filterObject = new EnvComparisonFilter(0, "customFilter", "oneUsage", filter, 0, 0);
     filters.Add(filterObject);
     ApplySelectedFiltersToSearchResults(filters);
 }
        private void ReloadAllFiltersFromDatabase()
        {
            lvAvailableFilters.Items.Clear();
            DataSet dataSet = Env_Comparison_Filters.GetAllAvailableFiltersAsDataset();
            foreach (DataRow row in dataSet.Tables[0].Rows) {
                EnvComparisonFilter filter =
                    new EnvComparisonFilter(Convert.ToInt32(row["id"]),
                                            row["name"].ToString(),
                                            row["description"].ToString(),
                                            row["filter"].ToString(),
                                            Convert.ToInt32(row["filterType"]),
                                            Convert.ToInt32(row["userid"]),
                                            string.Equals(row["userid"].ToString(),1),
                                            row["filterScript"].ToString(),
                                            row["exclusionList"].ToString());

                switch (Convert.ToInt32(row["filterType"])) {

                case (int)EnvComparisonFilter.ComparisonFilterType.Regular:
                    System.Windows.Forms.ListViewItem item = lvAvailableFilters.Items.Add(filter.Name,filter.Name);
                    item.Group =  lvAvailableFilters.Groups["lvgRegularGroup"];
                    item.Tag = filter;
                    break;
                case (int)EnvComparisonFilter.ComparisonFilterType.PreFilter:
                    item = lvAvailableFilters.Items.Add(filter.Name,filter.Name);
                    item.Group =  lvAvailableFilters.Groups["lvgPrefilter"];
                    item.Tag = filter;
                    break;
                case (int)EnvComparisonFilter.ComparisonFilterType.Deletion:
                    item = lvAvailableFilters.Items.Add(filter.Name,filter.Name);
                    item.Group =  lvAvailableFilters.Groups["lvgDeletionFilter"];
                    item.Tag = filter;
                    break;
                default:
                    break;
                }

            }
        }
 private void PopulateCleanupFilters()
 {
     clbAvailableCleanupFilters.Items.Clear();
     DataSet dataSet = Env_Comparison_Filters.GetAllAvailableFiltersAsDataset();
     foreach (DataRow row in dataSet.Tables[0].Rows) {
         EnvComparisonFilter filter =
             new EnvComparisonFilter(Convert.ToInt32(row["id"]),
                                     row["name"].ToString(),
                                     row["description"].ToString(),
                                     row["filter"].ToString(),
                                     Convert.ToInt32(row["filterType"]),
                                     Convert.ToInt32(row["userid"]),
                                     string.Equals(row["userid"].ToString(),1),
                                     row["filterScript"].ToString(),
                                     row["exclusionList"].ToString());
         if (Convert.ToInt32(row["filterType"]) == (int)EnvComparisonFilter.ComparisonFilterType.Deletion) {
             clbAvailableCleanupFilters.Items.Add(filter,true);
         }
     }
 }
 private void LoadAllAvailableFiltersToCheckListBox()
 {
     clbAvailableFilters.Items.Clear();
     DataSet AllFilters = Env_Comparison_Filters.GetAllAvailableFiltersAsDataset();
     foreach (DataRow row in AllFilters.Tables[0].Rows) {
         EnvComparisonFilter filter =
             new EnvComparisonFilter(Convert.ToInt32(row["id"]),
                                     row["name"].ToString(),
                                     row["description"].ToString(),
                                     row["filter"].ToString(),
                                     Convert.ToInt32(row["filterType"]),
                                     Convert.ToInt32(row["userid"]));
         clbAvailableFilters.Items.Add(filter);
     }
 }