private static void CreateActivity(object source, ActivityType type, string path1, string path2) { try { // find relevant folder FoldersRow folder = Context.Model.FindFolder(source as FileSystemWatcher); if (folder == null) { throw new Exception("Expected folder not found for activity: " + path1); } // test folder ignore filter MatchReason reason = new MatchReason(); bool passed = folder.PassesFilters(path1, reason); if (type == Model.ActivityType.Renamed) { // when renaming be more tolerant and see also final names passed = passed || folder.PassesFilters(path2, reason); } // create and register activity Activity activity = new Activity(type, DateTime.Now, path1, path2, passed, reason.text); folder.AddActivity(activity); // signal worker to process new activity Worker.Current.Signal(); } catch (Exception e) { // add error into log ActivityLog.Current.AddEventLog(Properties.Resources.Error, e.Message); } }
private static FoldersRow CreateFolder(TDSettings.ConnectionRow connectionRow, string forlderName, int levelId, int parentId) { FoldersRow newFolder = _instance.Folders.NewFoldersRow(); newFolder.Name = forlderName; newFolder.UserID = connectionRow.ConnectionId; newFolder.LevelID = levelId; newFolder.ParentID = parentId; newFolder.ReadOnly = true; newFolder.Expanded = false; newFolder.Deleted = false; _instance.Folders.AddFoldersRow(newFolder); _instance.AcceptChanges(); return(newFolder); }
public FoldersRow AddFolder(string name, string path, string type) { FoldersRow folder = Folders.NewFoldersRow(); folder.Name = name; folder.Path = path; folder.Type = type; lock (this) { Folders.AddFoldersRow(folder); Scanner scanner = Detector.Current.GetScanner(type); if (scanner != null) { scanner.SetFolder(folder); scanner.SetupFilters(); } } return(folder); }
public IncludeFiltersRow AddIncludeFiltersRow(string Mask, string Info, FoldersRow parentFoldersRowByFK_Folders_IncludeFilters) { IncludeFiltersRow rowIncludeFiltersRow = ((IncludeFiltersRow)(this.NewRow())); object[] columnValuesArray = new object[] { Mask, Info, null}; if ((parentFoldersRowByFK_Folders_IncludeFilters != null)) { columnValuesArray[2] = parentFoldersRowByFK_Folders_IncludeFilters[0]; } rowIncludeFiltersRow.ItemArray = columnValuesArray; this.Rows.Add(rowIncludeFiltersRow); return rowIncludeFiltersRow; }
public void RemoveFoldersRow(FoldersRow row) { this.Rows.Remove(row); }
public void AddFoldersRow(FoldersRow row) { this.Rows.Add(row); }
public FoldersRowChangeEvent(FoldersRow row, global::System.Data.DataRowAction action) { this.eventRow = row; this.eventAction = action; }
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 void MarkFolderAsDeleted(FoldersRow folderRow) { folderRow.Deleted = true; _instance.Folders.AcceptChanges(); }
private static string CreateProductFolderDefaultQueries(TDSettings.ConnectionRow connectionRow, int parentId, string productName) { FoldersRow productFolder = GetFolderByName(connectionRow, productName); QueriesRow query; if (productFolder == null) { productFolder = CreateFolder(connectionRow, productName, 1, parentId); } if (productFolder != null) { //********************************************************************* query = _instance.Queries.NewQueriesRow(); query.Name = "Opened bugs"; query.Description = "Opened bugs for the product [" + productName + "]"; query.FolderID = productFolder.ID; query.TypeID = Convert.ToByte(_queryTypes.Predefined); _instance.Queries.AddQueriesRow(query); _instance.AddParameterValuesForQuery(query, GetParamsForOpenedBugsQuery(productName, false, String.Empty)); //********************************************************************* query = _instance.Queries.NewQueriesRow(); query.Name = "Closed bugs"; query.Description = "Closed bugs for the product [" + productName + "]"; query.FolderID = productFolder.ID; query.TypeID = Convert.ToByte(_queryTypes.Predefined); _instance.Queries.AddQueriesRow(query); _instance.AddParameterValuesForQuery(query, GetParamsForClosedBugsQuery(productName, false, String.Empty)); //********************************************************************* query = _instance.Queries.NewQueriesRow(); query.Name = "Fixed bugs"; query.Description = "Fixed bugs for the product [" + productName + "]"; query.FolderID = productFolder.ID; query.TypeID = Convert.ToByte(_queryTypes.Predefined); _instance.Queries.AddQueriesRow(query); _instance.AddParameterValuesForQuery(query, GetParamsForFixedBugsQuery(productName, false, String.Empty)); //********************************************************************* query = _instance.Queries.NewQueriesRow(); query.Name = "All bugs"; query.Description = "All bugs for the product [" + productName + "]"; query.FolderID = productFolder.ID; query.TypeID = Convert.ToByte(_queryTypes.Predefined); _instance.Queries.AddQueriesRow(query); _instance.AddParameterValuesForQuery(query, GetParamsForAllBugsQuery(productName, true, String.Empty)); //********************************************************************* query = _instance.Queries.NewQueriesRow(); query.Name = "My bugs"; query.Description = "All my bugs for the product [" + productName + "]"; query.FolderID = productFolder.ID; query.TypeID = Convert.ToByte(_queryTypes.Predefined); _instance.Queries.AddQueriesRow(query); _instance.AddParameterValuesForQuery(query, GetParamsForAllBugsQuery(productName, true, connectionRow.UserName)); } return(productName); }
public FoldersRow AddFoldersRow(string Name, FoldersRow parentFoldersRowByFolders_Folders, int LevelID, int UserID, bool Expanded, bool ReadOnly, bool Deleted) { FoldersRow rowFoldersRow = ((FoldersRow)(this.NewRow())); object[] columnValuesArray = new object[] { null, Name, null, LevelID, UserID, Expanded, ReadOnly, Deleted}; if ((parentFoldersRowByFolders_Folders != null)) { columnValuesArray[2] = parentFoldersRowByFolders_Folders[0]; } rowFoldersRow.ItemArray = columnValuesArray; this.Rows.Add(rowFoldersRow); return rowFoldersRow; }