/// <summary> /// deletes a selected query /// </summary> public void DeleteQuery() { foreach (QueryDatabaseModel model in SelectedIndexes) { var location = FindIndex(model); if (QueryLists[location.main].Count == 1) { QueryLists.RemoveAt(location.main); } else { QueryLists[location.main].RemoveAt(location.sub); if (QueryLists[location.main].Count == 1) { QueryLists[location.main][0].RemoveFirstBracer(); QueryLists[location.main][0].RemoveLastBracer(); } else { if (location.sub == 0) { QueryLists[location.main][0].AddFirstBracer(); } if (location.sub == QueryLists[location.main].Count) { QueryLists[location.main][QueryLists[location.main].Count - 1].AddLastBracer(); } } } } }
/// <summary> /// Inserts a query at a location /// </summary> /// <param name="locationType"></param> public void InsertQuery(InsertLocation locationType) { QueryDatabaseModel item = SelectedIndexes[0]; var location = FindIndex(item); switch (locationType) { case InsertLocation.After: if (location.main + 1 > QueryLists.Count) { QueryLists.Add(new List <QueryDatabaseModel>() { new QueryDatabaseModel() }); } else { QueryLists.Insert(location.main + 1, new List <QueryDatabaseModel>() { new QueryDatabaseModel() }); } break; case InsertLocation.Before: QueryLists.Insert(location.main, new List <QueryDatabaseModel>() { new QueryDatabaseModel() }); break; case InsertLocation.Into: QueryDatabaseModel value = new QueryDatabaseModel(); value.AddLastBracer(); if (QueryLists[location.main].Count == 1) { QueryLists[location.main][0].AddFirstBracer(); } else { QueryLists[location.main][QueryLists[location.main].Count - 1].RemoveLastBracer(); } QueryLists[location.main].Add(value); break; } }