Exemple #1
0
 /// <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();
                 }
             }
         }
     }
 }
Exemple #2
0
        /// <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;
            }
        }