Example #1
0
        /// <summary> Adds a new folder as a child under this folder </summary>
        /// <param name="Child_Folder_Name"> Name of the new child folder </param>
        /// <param name="Child_Folder_ID"> Primary key for child folder </param>
        /// <returns> Child folder object </returns>
        internal User_Folder Add_Child_Folder(string Child_Folder_Name, int Child_Folder_ID)
        {
            User_Folder returnValue = new User_Folder(Child_Folder_Name, Child_Folder_ID);

            children.Add(Child_Folder_Name, returnValue);
            return(returnValue);
        }
 private void recurse_through_children(User_Folder ParentFolder, SortedList <string, User_Folder> FolderBuilder)
 {
     foreach (User_Folder thisFolder in ParentFolder.Children)
     {
         FolderBuilder.Add(thisFolder.Folder_Name, thisFolder);
         recurse_through_children(thisFolder, FolderBuilder);
     }
 }
        private User_Folder recurse_to_get_folder(User_Folder ParentFolder, string FolderName)
        {
            if (ParentFolder.Folder_Name.ToLower() == FolderName)
            {
                return(ParentFolder);
            }

            return(ParentFolder.Children.Select(ChildFolder => recurse_to_get_folder(ChildFolder, FolderName)).FirstOrDefault(ReturnValue => ReturnValue != null));
        }
        private User_Folder recurse_to_get_folder(User_Folder parentFolder, string folderName)
        {
            if (parentFolder.Folder_Name.ToLower() == folderName)
            {
                return(parentFolder);
            }

            return(parentFolder.Children.Select(childFolder => recurse_to_get_folder(childFolder, folderName)).FirstOrDefault(returnValue => returnValue != null));
        }
        private static User_Object build_user_object_from_dataset(DataSet ResultSet )
        {
            User_Object user = new User_Object();

            DataRow userRow = ResultSet.Tables[0].Rows[0];
            user.ShibbID = userRow["ShibbID"].ToString();
            user.UserID = Convert.ToInt32(userRow["UserID"]);
            user.UserName = userRow["username"].ToString();
            user.Email = userRow["EmailAddress"].ToString();
            user.Given_Name = userRow["FirstName"].ToString();
            user.Family_Name = userRow["LastName"].ToString();
            user.Send_Email_On_Submission = Convert.ToBoolean(userRow["SendEmailOnSubmission"]);
            user.Can_Submit = Convert.ToBoolean(userRow["Can_Submit_Items"]);
            user.Is_Temporary_Password = Convert.ToBoolean(userRow["isTemporary_Password"]);
            user.Nickname = userRow["Nickname"].ToString();
            user.Organization = userRow["Organization"].ToString();
            user.Organization_Code = userRow["OrganizationCode"].ToString();
            user.Department = userRow["Department"].ToString();
            user.College = userRow["College"].ToString();
            user.Unit = userRow["Unit"].ToString();
            user.Default_Rights = userRow["Rights"].ToString();
            user.Preferred_Language = userRow["Language"].ToString();
            user.Is_Internal_User = Convert.ToBoolean(userRow["Internal_User"]);
            user.Edit_Template_Code = userRow["EditTemplate"].ToString();
            user.Edit_Template_MARC_Code = userRow["EditTemplateMarc"].ToString();
            user.Can_Delete_All = Convert.ToBoolean(userRow["Can_Delete_All_Items"]);
            user.Is_System_Admin = Convert.ToBoolean(userRow["IsSystemAdmin"]);
            user.Is_Portal_Admin = Convert.ToBoolean(userRow["IsPortalAdmin"]);
            user.Include_Tracking_In_Standard_Forms = Convert.ToBoolean(userRow["Include_Tracking_Standard_Forms"]);
            user.Receive_Stats_Emails = Convert.ToBoolean(userRow["Receive_Stats_Emails"]);
            user.Has_Item_Stats = Convert.ToBoolean(userRow["Has_Item_Stats"]);
            user.LoggedOn = true;
            user.Internal_Notes = userRow["InternalNotes"].ToString();
            user.Processing_Technician = Convert.ToBoolean(userRow["ProcessingTechnician"]);
            user.Scanning_Technician = Convert.ToBoolean(userRow["ScanningTechnician"]);

            if (Convert.ToInt32(userRow["descriptions"]) > 0)
                user.Has_Descriptive_Tags = true;

            foreach (DataRow thisRow in ResultSet.Tables[1].Rows)
            {
                user.Add_Template(thisRow["TemplateCode"].ToString(), Convert.ToBoolean(thisRow["GroupDefined"].ToString()));
            }

            foreach (DataRow thisRow in ResultSet.Tables[2].Rows)
            {
                user.Add_Default_Metadata_Set(thisRow["MetadataCode"].ToString(), Convert.ToBoolean(thisRow["GroupDefined"].ToString()));
            }

            user.Items_Submitted_Count = ResultSet.Tables[3 ].Rows.Count;
            foreach (DataRow thisRow in ResultSet.Tables[3 ].Rows)
            {
                if (!user.BibIDs.Contains(thisRow["BibID"].ToString().ToUpper()))
                    user.Add_BibID(thisRow["BibID"].ToString().ToUpper());
            }

            // Add links to regular expressions
            foreach (DataRow thisRow in ResultSet.Tables[4 ].Rows)
            {
                user.Add_Editable_Regular_Expression(thisRow["EditableRegex"].ToString());
            }

            // Add links to aggregations
            foreach (DataRow thisRow in ResultSet.Tables[5 ].Rows)
            {

                user.Add_Aggregation(thisRow["Code"].ToString(), thisRow["Name"].ToString(), Convert.ToBoolean(thisRow["CanSelect"]), Convert.ToBoolean(thisRow["CanEditMetadata"]), Convert.ToBoolean(thisRow["CanEditBehaviors"]), Convert.ToBoolean(thisRow["CanPerformQc"]), Convert.ToBoolean(thisRow["CanUploadFiles"]), Convert.ToBoolean(thisRow["CanChangeVisibility"]), Convert.ToBoolean(thisRow["CanDelete"]), Convert.ToBoolean(thisRow["IsCollectionManager"]), Convert.ToBoolean(thisRow["OnHomePage"]), Convert.ToBoolean(thisRow["IsAggregationAdmin"]), Convert.ToBoolean(thisRow["GroupDefined"]));

            }

            // Add the current folder names
            Dictionary<int, User_Folder> folderNodes = new Dictionary<int, User_Folder>();
            List<User_Folder> parentNodes = new List<User_Folder>();
            foreach (DataRow folderRow in ResultSet.Tables[6 ].Rows)
            {
                string folderName = folderRow["FolderName"].ToString();
                int folderid = Convert.ToInt32(folderRow["UserFolderID"]);
                int parentid = Convert.ToInt32(folderRow["ParentFolderID"]);
                bool isPublic = Convert.ToBoolean(folderRow["isPublic"]);

                User_Folder newFolderNode = new User_Folder(folderName, folderid) {isPublic = isPublic};
                if (parentid == -1)
                    parentNodes.Add(newFolderNode);
                folderNodes.Add(folderid, newFolderNode);
            }
            foreach (DataRow folderRow in ResultSet.Tables[6 ].Rows)
            {
                int folderid = Convert.ToInt32(folderRow["UserFolderID"]);
                int parentid = Convert.ToInt32(folderRow["ParentFolderID"]);
                if (parentid > 0)
                {
                    folderNodes[parentid].Add_Child_Folder(folderNodes[folderid]);
                }
            }
            foreach (User_Folder rootFolder in parentNodes)
                user.Add_Folder(rootFolder);

            // Get the list of BibID/VID associated with this
            foreach (DataRow itemRow in ResultSet.Tables[7 ].Rows)
            {
                user.Add_Bookshelf_Item(itemRow["BibID"].ToString(), itemRow["VID"].ToString());
            }

            // Add the user groups to which this user is a member
            foreach (DataRow groupRow in ResultSet.Tables[8].Rows)
            {
                user.Add_User_Group(groupRow[0].ToString());
            }

            // Get all the user settings
            foreach (DataRow settingRow in ResultSet.Tables[9].Rows)
            {
                user.Add_Setting(settingRow["Setting_Key"].ToString(), settingRow["Setting_Value"].ToString(), false);
            }

            return user;
        }
 /// <summary> Adds a folder name to the list of folders associated with this user </summary>
 /// <param name="Folder_Name"> Name of the folder to add </param>
 /// <param name="Folder_ID"> Primary key for this folder </param>
 internal void Add_Folder(string Folder_Name, int Folder_ID )
 {
     folders[Folder_Name] = new User_Folder(Folder_Name, Folder_ID);
 }
        /// <summary> This checks that the folder name exists, and returns the proper format </summary>
        /// <param name="NameVersion"> Version of the folder name to check </param>
        /// <returns> Folder name in proper format </returns>
        public string Folder_Name(string NameVersion)
        {
            User_Folder folderObject = Get_Folder(NameVersion);

            return(folderObject == null ? String.Empty : folderObject.Folder_Name);
        }
 /// <summary> Adds a new folder as a child under this folder </summary>
 /// <param name="Child_Folder"> Completely built child folder object </param>
 internal void Add_Child_Folder( User_Folder Child_Folder )
 {
     children.Add(Child_Folder.Folder_Name, Child_Folder);
 }
 /// <summary> Adds a new folder as a child under this folder </summary>
 /// <param name="Child_Folder_Name"> Name of the new child folder </param>
 /// <param name="Child_Folder_ID"> Primary key for child folder </param>
 /// <returns> Child folder object </returns>
 internal User_Folder Add_Child_Folder(string Child_Folder_Name, int Child_Folder_ID)
 {
     User_Folder returnValue = new User_Folder(Child_Folder_Name, Child_Folder_ID);
     children.Add(Child_Folder_Name, returnValue);
     return returnValue;
 }
Example #10
0
 /// <summary> Adds a new folder as a child under this folder </summary>
 /// <param name="Child_Folder"> Completely built child folder object </param>
 internal void Add_Child_Folder(User_Folder Child_Folder)
 {
     children.Add(Child_Folder.Folder_Name, Child_Folder);
 }
 /// <summary> Adds a folder to the list of folders associated with this user </summary>
 /// <param name="Folder"> Built folder object </param>
 internal void Add_Folder(User_Folder Folder)
 {
     folders[Folder.Folder_Name] = Folder;
 }
 /// <summary> Adds a folder to the list of folders associated with this user </summary>
 /// <param name="Folder"> Built folder object </param>
 internal void Add_Folder(User_Folder Folder)
 {
     folders[Folder.Folder_Name] = Folder;
 }
        private void refresh_user_folders(User_Object User, Custom_Tracer Tracer )
        {
            DataSet thisSet = SobekCM_Database.Get_Folder_Search_Information(User.UserID, Tracer);

            // Add the current folder names
            Dictionary<int, User_Folder> folderNodes = new Dictionary<int, User_Folder>();
            List<User_Folder> parentNodes = new List<User_Folder>();
            foreach (DataRow folderRow in thisSet.Tables[0].Rows)
            {
                string folder_name = folderRow["FolderName"].ToString();
                int folderid = Convert.ToInt32(folderRow["UserFolderID"]);
                int parentid = Convert.ToInt32(folderRow["ParentFolderID"]);
                bool isPublic = Convert.ToBoolean(folderRow["isPublic"]);

                User_Folder newFolderNode = new User_Folder(folder_name, folderid) {isPublic = isPublic};
                if (parentid == -1)
                    parentNodes.Add(newFolderNode);
                folderNodes.Add(folderid, newFolderNode);
            }
            foreach (DataRow folderRow in thisSet.Tables[0].Rows)
            {
                int folderid = Convert.ToInt32(folderRow["UserFolderID"]);
                int parentid = Convert.ToInt32(folderRow["ParentFolderID"]);
                if (parentid > 0)
                {
                    folderNodes[parentid].Add_Child_Folder(folderNodes[folderid]);
                }
            }
            user.Clear_Folders();
            foreach (User_Folder root_folder in parentNodes)
                user.Add_Folder(root_folder);
        }
        private void add_children_nodes(TreeNode parentNode, User_Folder thisFolder, string selected_folder, string redirect_url, List<TreeNode> selectedNodes )
        {
            foreach (User_Folder childFolders in thisFolder.Children)
            {
                TreeNode folderNode = new TreeNode
                                          { Text ="&nbsp; <a href=\"" +redirect_url.Replace("XXXXXXXXXXXXXXXXXX",childFolders.Folder_Name_Encoded) + "\">" +childFolders.Folder_Name + "</a>" };
                if (childFolders.Folder_Name == selected_folder)
                {
                    selectedNodes.Add(folderNode);
                    if (childFolders.isPublic)
                    {
                        folderNode.ImageUrl = currentMode.Base_URL + "default/images/open_folder_public.jpg";
                        folderNode.ImageToolTip = "Public folder";
                    }
                    else
                    {
                        folderNode.ImageUrl = currentMode.Base_URL + "default/images/open_folder.jpg";
                    }

                    folderNode.Text = "&nbsp; <span class=\"Selected_TreeNode_Text\">" + childFolders.Folder_Name + "</span>";
                    folderNode.SelectAction = TreeNodeSelectAction.None;
                }
                else
                {
                    if (childFolders.isPublic)
                    {
                        folderNode.ImageUrl = currentMode.Base_URL + "default/images/closed_folder_public.jpg";
                        folderNode.ImageToolTip = "Public folder";
                    }
                    else
                    {
                        folderNode.ImageUrl = currentMode.Base_URL + "default/images/closed_folder.jpg";
                    }
                    folderNode.Text = "&nbsp; <a href=\"" + redirect_url.Replace("XXXXXXXXXXXXXXXXXX", childFolders.Folder_Name_Encoded) + "\">" + childFolders.Folder_Name + "</a>";
                }
                parentNode.ChildNodes.Add(folderNode);

                // Add all the children nodes as well
                add_children_nodes(folderNode, childFolders, properFolderName, redirect_url, selectedNodes);
            }
        }
        private static User_Object build_user_object_from_dataset(DataSet resultSet )
        {
            User_Object user = new User_Object();

            DataRow userRow = resultSet.Tables[0].Rows[0];
            user.UFID = userRow["UFID"].ToString();
            user.UserID = Convert.ToInt32(userRow["UserID"]);
            user.UserName = userRow["username"].ToString();
            user.Email = userRow["EmailAddress"].ToString();
            user.Given_Name = userRow["FirstName"].ToString();
            user.Family_Name = userRow["LastName"].ToString();
            user.Send_Email_On_Submission = Convert.ToBoolean(userRow["SendEmailOnSubmission"]);
            user.Can_Submit = Convert.ToBoolean(userRow["Can_Submit_Items"]);
            user.Is_Temporary_Password = Convert.ToBoolean(userRow["isTemporary_Password"]);
            user.Nickname = userRow["Nickname"].ToString();
            user.Organization = userRow["Organization"].ToString();
            user.Organization_Code = userRow["OrganizationCode"].ToString();
            user.Department = userRow["Department"].ToString();
            user.College = userRow["College"].ToString();
            user.Unit = userRow["Unit"].ToString();
            user.Default_Rights = userRow["Rights"].ToString();
            user.Preferred_Language = userRow["Language"].ToString();
            user.Is_Internal_User = Convert.ToBoolean(userRow["Internal_User"]);
            user.Edit_Template_Code = userRow["EditTemplate"].ToString();
            user.Edit_Template_MARC_Code = userRow["EditTemplateMarc"].ToString();
            user.Is_System_Admin = Convert.ToBoolean(userRow["IsSystemAdmin"]);
            user.Is_Portal_Admin = Convert.ToBoolean(userRow["IsPortalAdmin"]);
            user.Include_Tracking_In_Standard_Forms = Convert.ToBoolean(userRow["Include_Tracking_Standard_Forms"]);
            user.Receive_Stats_Emails = Convert.ToBoolean(userRow["Receive_Stats_Emails"]);
            user.Has_Item_Stats = Convert.ToBoolean(userRow["Has_Item_Stats"]);

            if (Convert.ToInt32(userRow["descriptions"]) > 0)
                user.Has_Descriptive_Tags = true;

            foreach (DataRow thisRow in resultSet.Tables[1].Rows)
            {
                user.Add_Template(thisRow["TemplateCode"].ToString());
            }

            foreach (DataRow thisRow in resultSet.Tables[2].Rows)
            {
                user.Add_Project(thisRow["ProjectCode"].ToString());
            }

            user.Items_Submitted_Count = resultSet.Tables[3 ].Rows.Count;
            foreach (DataRow thisRow in resultSet.Tables[3 ].Rows)
            {
                if (!user.BibIDs.Contains(thisRow["BibID"].ToString().ToUpper()))
                    user.Add_BibID(thisRow["BibID"].ToString().ToUpper());
            }

            // Add links to regular expressions
            foreach (DataRow thisRow in resultSet.Tables[4 ].Rows)
            {
                user.Add_Editable_Regular_Expression(thisRow["EditableRegex"].ToString());
            }

            // Add links to aggregations
            foreach (DataRow thisRow in resultSet.Tables[5 ].Rows)
            {
                user.Add_Aggregation(thisRow["Code"].ToString(), thisRow["Name"].ToString(), Convert.ToBoolean(thisRow["CanSelect"]), Convert.ToBoolean(thisRow["CanEditItems"]), Convert.ToBoolean(thisRow["IsAggregationAdmin"]), Convert.ToBoolean(thisRow["OnHomePage"]));
            }

            // Add the current folder names
            Dictionary<int, User_Folder> folderNodes = new Dictionary<int, User_Folder>();
            List<User_Folder> parentNodes = new List<User_Folder>();
            foreach (DataRow folderRow in resultSet.Tables[6 ].Rows)
            {
                string folderName = folderRow["FolderName"].ToString();
                int folderid = Convert.ToInt32(folderRow["UserFolderID"]);
                int parentid = Convert.ToInt32(folderRow["ParentFolderID"]);
                bool isPublic = Convert.ToBoolean(folderRow["isPublic"]);

                User_Folder newFolderNode = new User_Folder(folderName, folderid) {isPublic = isPublic};
                if (parentid == -1)
                    parentNodes.Add(newFolderNode);
                folderNodes.Add(folderid, newFolderNode);
            }
            foreach (DataRow folderRow in resultSet.Tables[6 ].Rows)
            {
                int folderid = Convert.ToInt32(folderRow["UserFolderID"]);
                int parentid = Convert.ToInt32(folderRow["ParentFolderID"]);
                if (parentid > 0)
                {
                    folderNodes[parentid].Add_Child_Folder(folderNodes[folderid]);
                }
            }
            foreach (User_Folder rootFolder in parentNodes)
                user.Add_Folder(rootFolder);

            foreach (DataRow itemRow in resultSet.Tables[7 ].Rows)
            {
                user.Add_Bookshelf_Item(itemRow["BibID"].ToString(), itemRow["VID"].ToString());
            }

            foreach (DataRow groupRow in resultSet.Tables[8].Rows)
            {
                user.Add_User_Group(groupRow[0].ToString());
            }

            return user;
        }
        private User_Folder recurse_to_get_folder(User_Folder ParentFolder, string FolderName)
        {
            if ( ParentFolder.Folder_Name.ToLower() == FolderName )
                return ParentFolder;

            return ParentFolder.Children.Select(ChildFolder => recurse_to_get_folder(ChildFolder, FolderName)).FirstOrDefault(ReturnValue => ReturnValue != null);
        }
 private void recurse_through_children(User_Folder ParentFolder, SortedList<string, User_Folder> FolderBuilder)
 {
     foreach (User_Folder thisFolder in ParentFolder.Children)
     {
         FolderBuilder.Add(thisFolder.Folder_Name, thisFolder);
         recurse_through_children(thisFolder, FolderBuilder);
     }
 }
 /// <summary> Adds a folder name to the list of folders associated with this user </summary>
 /// <param name="Folder_Name"> Name of the folder to add </param>
 /// <param name="Folder_ID"> Primary key for this folder </param>
 internal void Add_Folder(string Folder_Name, int Folder_ID)
 {
     folders[Folder_Name] = new User_Folder(Folder_Name, Folder_ID);
 }
        private User_Folder recurse_to_get_folder(User_Folder parentFolder, string folderName)
        {
            if ( parentFolder.Folder_Name.ToLower() == folderName )
                return parentFolder;

            return parentFolder.Children.Select(childFolder => recurse_to_get_folder(childFolder, folderName)).FirstOrDefault(returnValue => returnValue != null);
        }