Example #1
0
        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);
        }
Example #2
0
        public bool UpdateQuery(int queryId, NameValueCollection searchConfiguration)
        {
            QueriesRow qRow = _instance.Queries.FindByID(queryId);

            if (qRow == null)
            {
                return(false);
            }

            AddParameterValuesForQuery(qRow, searchConfiguration);


            return(true);
        }
Example #3
0
        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 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);
 }