public QueriesRow AddNewQuery(string queryName, string queryDescription, int folderId, byte typeId, int bugsCount, NameValueCollection searchConfiguration) { int queryID = GetQueryIdByQueryName(queryName); QueriesRow qRow = null; if (queryID == -1) { qRow = _instance.Queries.NewQueriesRow(); qRow.Name = queryName; qRow.Description = queryDescription; qRow.TypeID = typeId; qRow.FolderID = folderId; qRow.BugsCount = bugsCount; _instance.Queries.Rows.Add(qRow); } else { qRow = _instance.Queries.FindByID(queryID); } AddParameterValuesForQuery(qRow, searchConfiguration); return(qRow); }
public bool UpdateQuery(int queryId, NameValueCollection searchConfiguration) { QueriesRow qRow = _instance.Queries.FindByID(queryId); if (qRow == null) { return(false); } AddParameterValuesForQuery(qRow, searchConfiguration); return(true); }
public void AddUserSubtree(TreeView treeView, TDSettings.ConnectionRow connectionRow) { DataRow[] rows; TreeNode nodeUser; //find the node in the tree corresponding to the user-connection TreeNode[] nodesUser = treeView.Nodes.Find("User " + connectionRow.ConnectionId.ToString(), true); if (nodesUser.GetLength(0) == 1) { nodeUser = nodesUser[0]; //find all folders of the user and sort them on LevelID rows = _instance.Folders.Select("UserID = " + Int16.Parse(nodeUser.Name.Replace("User", String.Empty)).ToString(), "LevelID, Name, ID, ParentID"); TreeNode node = new TreeNode(); if (rows.GetLength(0) == 0) { nodeUser.ForeColor = System.Drawing.Color.Gray; } //check if product list changed on the server CatalogueManager catalogues = CatalogueManager.Instance(); NameValueCollection products = catalogues.GetCataloguesForConnection(connectionRow.ConnectionId).catalogueProduct; string productName = String.Empty; FoldersRow productsRootFolder = GetFolderByName(connectionRow, "Product Queries"); if (productsRootFolder == null) { productsRootFolder = CreateFolder(connectionRow, "Product Queries", 0, -1); } //check if local user xml still contains deleted products // if contains one, delete it for (int i = rows.GetLength(0) - 1; i >= 0; i--) { FoldersRow folder = (FoldersRow)rows[i]; if ((folder.ParentID == productsRootFolder.ID) && (products[folder.Name + "," + folder.Name] == null)) { folder.Delete(); } } //check if new product is missing from the local user structure for (int i = 0; i < products.Count; i++) { productName = products.GetKey(i).Split(',')[1]; FoldersRow productFolder = GetFolderByName(connectionRow, productName); if (productFolder == null) { CreateProductFolderDefaultQueries(connectionRow, productsRootFolder.ID, productName); } } rows = _instance.Folders.Select("UserID = " + Int16.Parse(nodeUser.Name.Replace("User", String.Empty)).ToString(), "LevelID, Name, ID, ParentID"); //add each folder(except deleted ones) as a TreeNode in the TreeView foreach (DataRow dr in rows) { FoldersRow folder = (FoldersRow)dr; //protect agains folders that do not have the Deleted tag (protect agains null value) try { folder.Deleted = folder.Deleted; } catch { folder.Deleted = false; } if (!folder.Deleted) { if (folder.ParentID == -1) { node = nodeUser.Nodes.Add("folder " + folder.ID.ToString(), folder.Name, "Folder"); } else { FoldersRow parentFolder = _instance.Folders.FindByID(folder.ParentID); if (parentFolder.Deleted) { folder.Deleted = true; } TreeNode[] nodes = nodeUser.Nodes.Find("folder " + folder.ParentID.ToString(), true); if (nodes.GetLength(0) == 1) { node = nodes[0].Nodes.Add("folder " + folder.ID.ToString(), folder.Name, "Folder"); } } if (!folder.Deleted) { node.SelectedImageKey = "Folder"; node.Tag = new NodeDescription(NodeType.Folder, folder); //add queries associated with the folder as tree nodes DataRow[] queries = _instance.Queries.Select("FolderId = " + folder.ID); foreach (DataRow query in queries) { QueriesRow queryRow = (QueriesRow)query; AddQueryToTreeNode(node, queryRow); } } } } } }
public QueriesRowChangeEvent(QueriesRow row, global::System.Data.DataRowAction action) { this.eventRow = row; this.eventAction = action; }
public void RemoveQueriesRow(QueriesRow row) { this.Rows.Remove(row); }
public void AddQueriesRow(QueriesRow row) { this.Rows.Add(row); }