void AddNewCustomFilter(FilterItem filterItem) { try { if (string.IsNullOrEmpty(filterItem.Name)) { int prevIndex = CustomFilters.Select(fi => Regex.Match(fi.Name, NewFilterName + @" (?<index>\d+)")).Where(m => m.Success).Select(m => int.Parse(m.Groups["index"].Value)).DefaultIfEmpty(0).Max(); filterItem.Name = NewFilterName + " " + (prevIndex + 1); } else { var existing = CustomFilters.FirstOrDefault(fi => fi.Name == filterItem.Name); if (existing != null) { CustomFilters.Remove(existing); } } CustomFilters.Add(filterItem); SaveCustomFilters(); } catch (Exception ex) { throw new Exception(ex.Message); } }
protected void AddNewCustomFilter(FilterItemBase filterItem) { var existing = CustomFilters.FirstOrDefault(fi => fi.Name == filterItem.Name); if (existing != null) { CustomFilters.Remove(existing); } CustomFilters.Add(filterItem); SaveCustomFilters(); }