public void AddQuery(WorkUnitQuery query) { CheckQueryParametersForAddOrReplace(query); if (_queryList.FirstOrDefault(x => x.Name == query.Name) != null) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, "A query with name '{0}' already exists.", query.Name)); } _queryList.Add(query); _queryList.Sort(); QueryBindingSource.ResetBindings(false); QueryBindingSource.Position = QueryBindingSource.IndexOf(query); }
public void ReplaceQuery(WorkUnitQuery query) { if (SelectedWorkUnitQuery == WorkUnitQuery.SelectAll) { throw new ArgumentException($"Cannot replace the '{WorkUnitQuery.SelectAll}' query."); } CheckQueryParametersForAddOrReplace(query); var existing = _queryList.FirstOrDefault(x => x.Name == query.Name); if (existing != null && existing.Name != SelectedWorkUnitQuery.Name) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, "A query with name '{0}' already exists.", query.Name)); } _queryList.Remove(SelectedWorkUnitQuery); _queryList.Add(query); _queryList.Sort(); QueryBindingSource.ResetBindings(false); QueryBindingSource.Position = QueryBindingSource.IndexOf(query); }