public void BuildUserHierarchy() { treeView1.BeginUpdate(); treeView1.SuspendLayout(); System.GC.Collect(); OysterClassLibrary.Functions F = new OysterClassLibrary.Functions(); TNCount = 0; GetTotalNodes(treeView1.Nodes); TempNodes = new String[TNCount]; TNCount = 0; BackupExpandedNodes(treeView1.Nodes); ExpandedNodes = new String[TNCount]; for(int i = 0; i < TNCount;i++) { ExpandedNodes[i] = TempNodes[i]; } treeView1.Nodes.Clear(); // TreeNode Root = treeView1.Nodes.Add(cvosUser.Description); TreeNode Root = treeView1.Nodes.Add(LoginUser.Description); // Root.Tag = cvosUser; //Root.Tag = LoginUser; Root.Tag = "TopofPack"; Root.ImageIndex = 0; Root.SelectedImageIndex = 0; Root.Expand(); Root.NodeFont = new Font("Arial",10,FontStyle.Regular); int MUTCounter = 0; // foreach(OysterClassLibrary.Section B in cvosUser.Bodys) // MUTCounter = OSystem.CurrentSectionTypes.Count; // OysterClassLibrary.SectionType nUT = OSystem.SectionTypeSysAdmin; // OysterClassLibrary.SectionType LastType = null; MUTCounter = OSystem.CurrentSectionTypes.Count; OysterClassLibrary.SectionType nUT = OSystem.SectionTypeSysAdmin; OysterClassLibrary.SectionType LastType = null; string test = nUT.Description; bool listonce = false; TreeNode Label = new TreeNode(); while( MUTCounter > 0) { listonce = false; //foreach(OysterClassLibrary.Section B in cvosUser.Bodys) foreach(OysterClassLibrary.Section B in LoginUser.AllOwnedSections) { if(B.IsDefault == false) { if(B.CreatedBySectionTypeID == nUT.ID) { if(listonce == false) { if(LastType == null) LastType = OSystem.SectionTypeSysAdmin; if(LastType.NextSectionTypeID != 99) { Label = Root.Nodes.Add(nUT.Description); Label.ImageIndex = 8; Label.SelectedImageIndex = 8; Label.Tag = nUT; //MainSystemSection = B; test = nUT.Description; } else { test = B.Description; test = LastType.Description; goto Finished_Recursive; // Students don't have bodies so } // Label.Tag = LastType; listonce = true; } test = B.Description; test = LastType.Description; CurrentSectionType = LastType; //if(B.IsDefault == false) //{ RecursiveDisplay(B,ref Label,LastType); // } } } } LastType = nUT; if(nUT.NextSectionTypeID != -99) nUT = nUT.NextSectionType; //nUT = F.GetSectionType(nUT.NextSectionTypeID); else goto Finished_Recursive; test = nUT.Description; MUTCounter -= 1; } Finished_Recursive:{} foreach(OysterClassLibrary.Section B in LoginUser.AllOwnedSections) { OysterClassLibrary.Recordings AR = F.ALLRecordings(B.ID); if((B.IsDefault == true)&&(AR.Count > 0)) { TreeNode NodeX = new TreeNode(); if(OSystem.SectionTypeSysAdmin.ID == LoginUser.HighestAuthorityLevel.ID) { NodeX = Root.Nodes.Add("Recordings"); // NodeX.Tag = OSystem.SectionTypeSysAdmin; NodeX.Tag = LoginUser.HighestAuthorityLevel; NodeX.ForeColor = System.Drawing.Color.DarkBlue; NodeX.ImageIndex = 6; NodeX.SelectedImageIndex = 6; } else { NodeX = Root.Nodes.Add("Unassigned Recordings"); // NodeX.Tag = HighestSectionType; NodeX.Tag = LoginUser.HighestAuthorityLevel; NodeX.ForeColor = System.Drawing.Color.Brown; NodeX.ImageIndex = 6; NodeX.SelectedImageIndex = 6; } ListView lvSessions = new ListView(); //foreach(OysterClassLibrary.Recording R in B.Recordings) foreach(OysterClassLibrary.Recording R in AR) { if(R.SessionID != "") { foreach(ListViewItem LVI in lvSessions.Items) { if(LVI.Text == R.SessionName) goto SkipItem; } ListViewItem LCI = lvSessions.Items.Add(R.SessionName); LCI.Tag = R.SessionID; } SkipItem:{} } TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; int SessionCount = 0; foreach(ListViewItem LVI in lvSessions.Items) { NodeSessions[SessionCount] = NodeX.Nodes.Add(LVI.Text); NodeSessions[SessionCount].Tag = LVI.Tag; NodeSessions[SessionCount].ImageIndex = 2; NodeSessions[SessionCount].SelectedImageIndex = 2; SessionCount++; } //foreach(OysterClassLibrary.Recording DrawRecording in B.Recordings) foreach(OysterClassLibrary.Recording DrawRecording in AR) { // if(DrawRecording.DisplayName == null) // DrawRecording.DisplayName = DrawRecording.Created.ToString(); TreeNode NodeRecording = new TreeNode(); if(DrawRecording.SessionID == "") { NodeRecording = NodeX.Nodes.Add(DrawRecording.DisplayName); } else { for(int a=0; a < SessionCount;a++) { if(DrawRecording.SessionName == NodeSessions[a].Text) NodeRecording = NodeSessions[a].Nodes.Add(DrawRecording.DisplayName); } } //DrawRecording.Se = B.ID; if(DrawRecording.IsReady) { NodeRecording.Tag = DrawRecording; } else { NodeRecording.ForeColor = System.Drawing.Color.Gray; } NodeRecording.ImageIndex = 3; NodeRecording.SelectedImageIndex = 3; NodeRecording.NodeFont = new Font("Arial",10,FontStyle.Regular); if(g_SelectedAnItem == false) { g_SelectedAnItem = true; treeView1.SelectedNode = NodeRecording; NodeRecording.EnsureVisible(); MouseEventArgs A = new MouseEventArgs(MouseButtons.Left,1,1,1,0); treeView1_MouseUp(treeView1,A); } if(OpenToRecording == DrawRecording.ID) { // NodeRecording.EnsureVisible(); treeView1.SelectedNode = NodeRecording; // g_objRecording = DrawRecording; g_objRecording = DrawRecording; } } } } //This Section Displays this LoginUser's Member Sections if(LoginUser.HighestAuthorityLevel.ID != OSystem.SectionTypeSysAdmin.ID) { OysterClassLibrary.Sections MembersOf = LoginUser.AllMemberSections; // F.GetMemberSections(LoginUser.ID,false); TreeNode Members = new TreeNode(); if(MembersOf.Count > 0) { Members = Root.Nodes.Add("My Recordings"); Members.ForeColor = System.Drawing.Color.Green; //Members.NodeFont = new Font("Arial",10,FontStyle.Bold); Members.ImageIndex = 7; Members.SelectedImageIndex = 7; int Counter2 = OSystem.CurrentSectionTypes.Count; OysterClassLibrary.SectionType nUT2 = OSystem.SectionTypeSysAdmin; test = nUT2.Description; listonce = false; Label = new TreeNode(); TreeNode NodeMember = new TreeNode(); while( Counter2 > 0) { listonce = false; foreach(OysterClassLibrary.Section M in MembersOf) { test = M.CreatedBySectionType.Description; test = nUT2.Description; if(M.CreatedBySectionType.ID == nUT2.ID) { if(listonce == false) { OysterClassLibrary.SectionType LabelSectionType = F.GetSectionType(nUT2.NextSectionTypeID); Label = Members.Nodes.Add(LabelSectionType.Description); Label.Tag = LabelSectionType; string whatistheusertype = LabelSectionType.Description; listonce = true; } NodeMember = new TreeNode(); NodeMember = Label.Nodes.Add(M.Description); NodeMember.Tag = M; // NodeMember.NodeFont = new Font("Arial",10,FontStyle.Bold); NodeMember.ForeColor = System.Drawing.Color.DarkSlateBlue; NodeMember.ImageIndex = 1; NodeMember.SelectedImageIndex = 1; bool DrawOnce = false; if(M.CurrentRecordings.Count > 0) { TreeNode NodeRecs = new TreeNode(); ListView lvSessions = new ListView(); foreach(OysterClassLibrary.Recording R in M.CurrentRecordings) { if(R.SessionID != "") { foreach(ListViewItem LVI in lvSessions.Items) { if(LVI.Text == R.SessionName) goto SkipItem; } ListViewItem LCI = lvSessions.Items.Add(R.SessionName); LCI.Tag = R.SessionID; } SkipItem:{} } TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; int SessionCount = 0; foreach(OysterClassLibrary.Recording R in M.CurrentRecordings) { if(R.CurrentUserID == LoginUser.ID) if(DrawOnce == false) { NodeRecs = NodeMember.Nodes.Add("Recordings"); NodeRecs.ForeColor = Color.SlateBlue; NodeRecs.ImageIndex = 6; NodeRecs.SelectedImageIndex = 6; foreach(ListViewItem LVI in lvSessions.Items) { NodeSessions[SessionCount] = NodeRecs.Nodes.Add(LVI.Text); NodeSessions[SessionCount].Tag = LVI.Tag; NodeSessions[SessionCount].ImageIndex = 2; NodeSessions[SessionCount].SelectedImageIndex = 2; SessionCount++; } DrawOnce = true; } // if(R.DisplayName == null) // R.DisplayName = R.Created.ToString(); //R.BodyId = M.BodyId; TreeNode NRec = new TreeNode(); if(R.SessionID == "") { NRec = NodeRecs.Nodes.Add(R.DisplayName); } else { for(int a=0; a < SessionCount;a++) { if(R.SessionName == NodeSessions[a].Text) NRec = NodeSessions[a].Nodes.Add(R.DisplayName); } } if(R.IsReady) { NRec.Tag = R; } else NRec.ForeColor = Color.Gray; NRec.NodeFont = new Font("Arial",10,FontStyle.Regular); NRec.ImageIndex = 3; NRec.SelectedImageIndex = 3; } } } } if(nUT2.NextSectionTypeID != -99) nUT2 = F.GetSectionType(nUT2.NextSectionTypeID); test = nUT2.Description; Counter2 -= 1; } if(Members.Nodes.Count > 0) Members.Expand(); } } // Skipped_This: {} /// Show Group Recordings /// if(LoginUser.CurrentGroups.Count > 0) { OysterClassLibrary.Groups CG = LoginUser.CurrentGroups; TreeNode GNode = Root.Nodes.Add("Group Memberships"); GNode.Tag = CG; GNode.ImageIndex = 5; GNode.SelectedImageIndex = 5; TreeNode NPublic = new TreeNode("Public Groups",1,1); NPublic.ForeColor = Color.DarkBlue; NPublic.Tag = "Label Group"; TreeNode NPrivate = new TreeNode("Private Groups",7,7); NPrivate.Tag = "Label Group"; NPrivate.ForeColor = Color.DarkGreen; GNode.Nodes.Add(NPublic); GNode.Nodes.Add(NPrivate); foreach(OysterClassLibrary.Group CurrentGroup in CG) { TreeNode GroupNode = new TreeNode(CurrentGroup.Description); GroupNode.Tag = CurrentGroup; GroupNode.ImageIndex = 4; GroupNode.SelectedImageIndex = 4; if(CurrentGroup.IsPublicAccess) { GroupNode.ForeColor = Color.Blue; NPublic.Nodes.Add(GroupNode); } else { GroupNode.ForeColor = Color.Green; NPrivate.Nodes.Add(GroupNode); } OysterClassLibrary.Recordings AR = CurrentGroup.CurrentRecordings; if(AR.Count > 0) { ListView lvSessions = new ListView(); //foreach(OysterClassLibrary.Recording R in B.Recordings) foreach(OysterClassLibrary.Recording R in AR) { if(R.SessionID != "") { foreach(ListViewItem LVI in lvSessions.Items) { if(LVI.Text == R.SessionName) goto SkipItem; } ListViewItem LCI = lvSessions.Items.Add(R.SessionName); LCI.Tag = R.SessionID; } SkipItem:{} } TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; int SessionCount = 0; foreach(ListViewItem LVI in lvSessions.Items) { NodeSessions[SessionCount] = GroupNode.Nodes.Add(LVI.Text); NodeSessions[SessionCount].Tag = LVI.Tag; NodeSessions[SessionCount].ImageIndex = 2; NodeSessions[SessionCount].SelectedImageIndex = 2; SessionCount++; } //foreach(OysterClassLibrary.Recording DrawRecording in B.Recordings) foreach(OysterClassLibrary.Recording DrawRecording in AR) { // if(DrawRecording.DisplayName == null) // DrawRecording.DisplayName = DrawRecording.Created.ToString(); TreeNode NodeRecording = new TreeNode(); if(DrawRecording.SessionID == "") { NodeRecording = GroupNode.Nodes.Add(DrawRecording.DisplayName); } else { for(int a=0; a < SessionCount;a++) { if(DrawRecording.SessionName == NodeSessions[a].Text) NodeRecording = NodeSessions[a].Nodes.Add(DrawRecording.DisplayName); } } //DrawRecording.Se = B.ID; if(DrawRecording.IsReady) NodeRecording.Tag = DrawRecording; else NodeRecording.ForeColor = Color.Gray; NodeRecording.NodeFont = new Font("Arial",10,FontStyle.Regular); NodeRecording.ImageIndex = 3; NodeRecording.SelectedImageIndex = 3; //NodeRecording.ForeColor = System.Drawing.Color.DarkSlateBlue; } } else GroupNode.Nodes.Add("No Recordings Available"); } if(NPublic.Nodes.Count == 0) { TreeNode NoPublic = NPublic.Nodes.Add("No public groups"); } if(NPrivate.Nodes.Count == 0) { TreeNode NoPrivate = NPrivate.Nodes.Add("No private memberships"); } } //List Users Unassigned Recordings bool RunThisOnce = false; TreeNode UNURecs = new TreeNode(); if(LoginUser.HighestAuthorityLevel.CanViewUnassignedRecordings.Count > 0) { OysterClassLibrary.Users AU = null; if(LoginUser.HighestAuthorityLevel.ID == OSystem.SectionTypeSysAdmin.ID) AU = OSystem.CurrentSystemUsers; else AU = LoginUser.AllMembersInHierarchy; foreach(OysterClassLibrary.User MyUser in AU) { foreach(OysterClassLibrary.Section DrawSection in MyUser.AllOwnedSections) { if((DrawSection.IsDefault)&&(DrawSection.CurrentRecordings.Count > 0)) { if(RunThisOnce == false) { UNURecs = Root.Nodes.Add("Current Users Unassigned Recordings"); UNURecs.ForeColor = Color.BurlyWood; RunThisOnce = true; } string testme = DrawSection.Description; if(DrawSection.OwnerID != LoginUser.ID) { TreeNode ThisUser = UNURecs.Nodes.Add(MyUser.Description); ThisUser.ForeColor = Color.Blue; ThisUser.ImageIndex = 0; ThisUser.SelectedImageIndex = 0; //THIS LITTLE SECTION IS OAKLAND SPECIFIC.. THAT IS BECAUSE I HAD TOOO //TreeNode NodeURT = new TreeNode(); // if(DrawBody.CreatedBySectionType.ID == OSystem.SectionTypeSysAdmin.NextSectionTypeID) // { // NodeURT= NodeX.Nodes.Add("Recordings"); // NodeURT.ForeColor = Color.DarkBlue; // } // else // { //NodeURT= NodeX.Nodes.Add("Unassigned Recordings"); //NodeURT.ForeColor = Color.Brown; //NodeURT.ImageIndex = 6; //NodeURT.SelectedImageIndex = 6; // } //IF Recording Sessions go ahead and prepare to draw ListView lvSessions = new ListView(); foreach(OysterClassLibrary.Recording R in DrawSection.CurrentRecordings) { if(R.SessionID != "") { foreach(ListViewItem LVI in lvSessions.Items) { if(LVI.Text == R.SessionName) goto SkipItem; } ListViewItem LGI = lvSessions.Items.Add(R.SessionName); LGI.Tag = R.SessionID; } SkipItem:{} } TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; int SessionCount = 0; foreach(ListViewItem LVI in lvSessions.Items) { //OysterClassLibrary.StreamingEncoder SE = OSystem.GetStreamingEncoderById(R.StreamingEncoderID); NodeSessions[SessionCount] = ThisUser.Nodes.Add(LVI.Text); NodeSessions[SessionCount].ImageIndex = 2; NodeSessions[SessionCount].SelectedImageIndex = 2; NodeSessions[SessionCount].Tag = LVI.Tag; SessionCount++; } //End Recording Session Preparation foreach(OysterClassLibrary.Recording DrawRecording in DrawSection.CurrentRecordings) { // bool DoesOwnCopy = F.HasInstanceOfRecording(DrawSection.OwnerID,DrawRecording.ID,DrawSection.ID); if(true)// if(DoesOwnCopy == true) { //DrawRecording.BodyId = DrawBody.ID; // if(DrawRecording.DisplayName == null) // DrawRecording.DisplayName = DrawRecording.Created.ToString(); TreeNode NodeRecording = new TreeNode(); if(DrawRecording.SessionID == "") { NodeRecording = ThisUser.Nodes.Add(DrawRecording.DisplayName); } else { for(int a=0; a < SessionCount;a++) { if(DrawRecording.SessionName == NodeSessions[a].Text) NodeRecording = NodeSessions[a].Nodes.Add(DrawRecording.DisplayName); } } if(DrawRecording.IsReady) NodeRecording.Tag = DrawRecording; else NodeRecording.ForeColor = Color.Gray; NodeRecording.ImageIndex = 3; NodeRecording.SelectedImageIndex = 3; //NodeRecording.ForeColor = System.Drawing.Color.Brown; NodeRecording.NodeFont = new Font("Arial",10,FontStyle.Regular); if(OpenToRecording == DrawRecording.ID) { // NodeRecording.EnsureVisible(); treeView1.SelectedNode = NodeRecording; g_objRecording = DrawRecording; } } } } // else {TreeNode NodeURT = NodeX.Nodes.Add("No Unassigned Recordings");} } } } } // Begin repainting the TreeView. treeView1.Refresh(); RestoreExpandedNodes(treeView1.Nodes); Root.Expand(); treeView1.EndUpdate(); F.Dispose(); treeView1.ResumeLayout(); }
public void BuildUserHierarchy() { System.Windows.Forms.Cursor OriginalCursor = this.Cursor; this.Cursor = System.Windows.Forms.Cursors.WaitCursor; this.SuspendLayout(); treeView1.SuspendLayout(); treeView1.BeginUpdate(); System.GC.Collect(); OysterClassLibrary.Functions F = new OysterClassLibrary.Functions(); TNCount = 0; //GetTotalNodes(treeView1.Nodes); TempNodes = new String[TNCount]; TNCount = 0; // BackupExpandedNodes(treeView1.Nodes); ExpandedNodes = new String[TNCount]; for(int i = 0; i < TNCount;i++) { ExpandedNodes[i] = TempNodes[i]; } treeView1.Nodes.Clear(); Root = treeView1.Nodes.Add(LoginUser.Description); Root.Tag = "TopofPack"; Root.ImageIndex = 0; Root.SelectedImageIndex = 0; Root.Expand(); Root.NodeFont = new Font("Arial",10,FontStyle.Regular); int MUTCounter = 0; MUTCounter = OSystem.CurrentSectionTypes.Count; OysterClassLibrary.SectionType nUT = OSystem.SectionTypeSysAdmin; OysterClassLibrary.SectionType LastType = null; string test = nUT.Description; bool listonce = false; TreeNode Label = new TreeNode(); #region GatherHierarchy while( MUTCounter > 0) { listonce = false; //foreach(OysterClassLibrary.Section B in cvosUser.Bodys) foreach(OysterClassLibrary.Section B in LoginUser.AllOwnedSections) { if(B.IsDefault == false) { if(B.CreatedBySectionTypeID == nUT.ID) { if(listonce == false) { if(LastType == null) LastType = OSystem.SectionTypeSysAdmin; if(LastType.NextSectionTypeID != 99) { Label = Root.Nodes.Add(nUT.Description); Label.ImageIndex = 8; Label.SelectedImageIndex = 8; Label.Tag = nUT; //MainSystemSection = B; test = nUT.Description; } else { test = B.Description; test = LastType.Description; goto Finished_Recursive; // Students don't have bodies so } // Label.Tag = LastType; listonce = true; } test = B.Description; test = LastType.Description; CurrentSectionType = LastType; ExpandSection(B,ref Label,LastType); //RecursiveDisplay(B,ref Label,LastType); } } } LastType = nUT; if(nUT.NextSectionTypeID != -99) nUT = nUT.NextSectionType; //nUT = F.GetSectionType(nUT.NextSectionTypeID); else goto Finished_Recursive; test = nUT.Description; MUTCounter -= 1; } #endregion GatherHierarchy Finished_Recursive:{} #region ShowUsersRecordings foreach(OysterClassLibrary.Section B in LoginUser.AllOwnedSections) { OysterClassLibrary.Recordings AR = F.ALLRecordings(B.ID); if((B.IsDefault == true)&&(AR.Count > 0)) { TreeNode NodeX = new TreeNode(); if(OSystem.SectionTypeSysAdmin.ID == LoginUser.HighestAuthorityLevel.ID) { NodeX = Root.Nodes.Add("Recordings"); // NodeX.Tag = OSystem.SectionTypeSysAdmin; NodeX.Tag = LoginUser.HighestAuthorityLevel; NodeX.ForeColor = System.Drawing.Color.DarkBlue; NodeX.ImageIndex = 6; NodeX.SelectedImageIndex = 6; } else { NodeX = Root.Nodes.Add("Unassigned Recordings"); // NodeX.Tag = HighestSectionType; NodeX.Tag = LoginUser.HighestAuthorityLevel; NodeX.ForeColor = System.Drawing.Color.Brown; NodeX.ImageIndex = 6; NodeX.SelectedImageIndex = 6; } ListView lvSessions = new ListView(); //foreach(OysterClassLibrary.Recording R in B.Recordings) foreach(OysterClassLibrary.Recording R in AR) { if(R.SessionID != "") { foreach(ListViewItem LVI in lvSessions.Items) { if(LVI.Text == R.SessionName) goto SkipItem; } ListViewItem LCI = lvSessions.Items.Add(R.SessionName); LCI.Tag = R.SessionID; } SkipItem:{} } TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; int SessionCount = 0; foreach(ListViewItem LVI in lvSessions.Items) { NodeSessions[SessionCount] = NodeX.Nodes.Add(LVI.Text); NodeSessions[SessionCount].Tag = LVI.Tag; NodeSessions[SessionCount].ImageIndex = 2; NodeSessions[SessionCount].SelectedImageIndex = 2; SessionCount++; } //foreach(OysterClassLibrary.Recording DrawRecording in B.Recordings) foreach(OysterClassLibrary.Recording DrawRecording in AR) { // if(DrawRecording.DisplayName == null) // DrawRecording.DisplayName = DrawRecording.Created.ToString(); TreeNode NodeRecording = new TreeNode(); if(DrawRecording.SessionID == "") { NodeRecording = NodeX.Nodes.Add(DrawRecording.DisplayName); } else { for(int a=0; a < SessionCount;a++) { if(DrawRecording.SessionName == NodeSessions[a].Text) NodeRecording = NodeSessions[a].Nodes.Add(DrawRecording.DisplayName); } } //DrawRecording.Se = B.ID; if(DrawRecording.IsReady) { NodeRecording.Tag = DrawRecording; } else { NodeRecording.ForeColor = System.Drawing.Color.Gray; } NodeRecording.ImageIndex = 3; NodeRecording.SelectedImageIndex = 3; NodeRecording.NodeFont = new Font("Arial",10,FontStyle.Regular); if(g_SelectedAnItem == false) { g_SelectedAnItem = true; treeView1.SelectedNode = NodeRecording; NodeRecording.EnsureVisible(); MouseEventArgs A = new MouseEventArgs(MouseButtons.Left,1,1,1,0); treeView1_MouseUp(treeView1,A); } if(OpenToRecording == DrawRecording.ID) { // NodeRecording.EnsureVisible(); treeView1.SelectedNode = NodeRecording; // g_objRecording = DrawRecording; g_objRecording = DrawRecording; } } } } #endregion Show Users Recordings //This Section Displays this LoginUser's Member Sections #region Show Users Member Sections if(LoginUser.HighestAuthorityLevel.ID != OSystem.SectionTypeSysAdmin.ID) { OysterClassLibrary.Sections MembersOf = LoginUser.AllMemberSections; // F.GetMemberSections(LoginUser.ID,false); TreeNode Members = new TreeNode(); if(MembersOf.Count > 0) { Members = Root.Nodes.Add("My Recordings"); Members.ForeColor = System.Drawing.Color.Green; //Members.NodeFont = new Font("Arial",10,FontStyle.Bold); Members.ImageIndex = 7; Members.SelectedImageIndex = 7; int Counter2 = OSystem.CurrentSectionTypes.Count; OysterClassLibrary.SectionType nUT2 = OSystem.SectionTypeSysAdmin; test = nUT2.Description; listonce = false; Label = new TreeNode(); TreeNode NodeMember = new TreeNode(); while( Counter2 > 0) { listonce = false; foreach(OysterClassLibrary.Section M in MembersOf) { test = M.CreatedBySectionType.Description; test = nUT2.Description; if(M.CreatedBySectionType.ID == nUT2.ID) { if(listonce == false) { OysterClassLibrary.SectionType LabelSectionType = F.GetSectionType(nUT2.NextSectionTypeID); Label = Members.Nodes.Add(LabelSectionType.Description); Label.Tag = LabelSectionType; string whatistheusertype = LabelSectionType.Description; listonce = true; } NodeMember = new TreeNode(); NodeMember = Label.Nodes.Add(M.Description); NodeMember.Tag = M; // NodeMember.NodeFont = new Font("Arial",10,FontStyle.Bold); NodeMember.ForeColor = System.Drawing.Color.DarkSlateBlue; NodeMember.ImageIndex = 1; NodeMember.SelectedImageIndex = 1; bool DrawOnce = false; if(M.CurrentRecordings.Count > 0) { TreeNode NodeRecs = new TreeNode(); ListView lvSessions = new ListView(); foreach(OysterClassLibrary.Recording R in M.CurrentRecordings) { if(R.SessionID != "") { foreach(ListViewItem LVI in lvSessions.Items) { if(LVI.Text == R.SessionName) goto SkipItem; } ListViewItem LCI = lvSessions.Items.Add(R.SessionName); LCI.Tag = R.SessionID; } SkipItem:{} } TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; int SessionCount = 0; foreach(OysterClassLibrary.Recording R in M.CurrentRecordings) { if(R.CurrentUserID == LoginUser.ID) if(DrawOnce == false) { NodeRecs = NodeMember.Nodes.Add("Recordings"); NodeRecs.ForeColor = Color.SlateBlue; NodeRecs.ImageIndex = 6; NodeRecs.SelectedImageIndex = 6; foreach(ListViewItem LVI in lvSessions.Items) { NodeSessions[SessionCount] = NodeRecs.Nodes.Add(LVI.Text); NodeSessions[SessionCount].Tag = LVI.Tag; NodeSessions[SessionCount].ImageIndex = 2; NodeSessions[SessionCount].SelectedImageIndex = 2; SessionCount++; } DrawOnce = true; } // if(R.DisplayName == null) // R.DisplayName = R.Created.ToString(); //R.BodyId = M.BodyId; TreeNode NRec = new TreeNode(); if(R.SessionID == "") { NRec = NodeRecs.Nodes.Add(R.DisplayName); } else { for(int a=0; a < SessionCount;a++) { if(R.SessionName == NodeSessions[a].Text) NRec = NodeSessions[a].Nodes.Add(R.DisplayName); } } if(R.IsReady) { NRec.Tag = R; } else NRec.ForeColor = Color.Gray; NRec.NodeFont = new Font("Arial",10,FontStyle.Regular); NRec.ImageIndex = 3; NRec.SelectedImageIndex = 3; } } } } if(nUT2.NextSectionTypeID != -99) nUT2 = F.GetSectionType(nUT2.NextSectionTypeID); test = nUT2.Description; Counter2 -= 1; } if(Members.Nodes.Count > 0) Members.Expand(); } } #endregion Show Users Member Sections /// Show Group Recordings /// #region CurrentMemberships BuildGroupNodes(); #region This Region is code that has been moved to ReBuildGroup {This section should be deleted after testing} // OysterClassLibrary.Groups CG = null; // // if(LoginUser.HighestAuthorityLevel.ID == OSystem.SectionTypeSysAdmin.ID) // CG = OSystem.GetALLGroups(false); // else // CG = LoginUser.CurrentGroups; // if(CG.Count > 0) // { // if(GNode == null) // { // // GNode = Root.Nodes.Add("Group Memberships"); // GNode.Tag = CG; // GNode.ImageIndex = 5; // GNode.SelectedImageIndex = 5; // } // GNode.Nodes.Clear(); // NPublic = new TreeNode("Public Groups",1,1); // NPublic.ForeColor = Color.DarkBlue; // NPublic.Tag = "Label Group:Public"; // NPrivate = new TreeNode("Private Groups",7,7); // NPrivate.Tag = "Label Group:Private"; // NPrivate.ForeColor = Color.DarkGreen; // // GNode.Nodes.Add(NPublic); // GNode.Nodes.Add(NPrivate); // // foreach(OysterClassLibrary.Group CurrentGroup in CG) // { // TreeNode GroupNode = new TreeNode(CurrentGroup.Description); // // GroupNode.Tag = CurrentGroup; // // GroupNode.ImageIndex = 4; // GroupNode.SelectedImageIndex = 4; // // if(CurrentGroup.IsPublicAccess) // { // GroupNode.ForeColor = Color.Blue; // NPublic.Nodes.Add(GroupNode); // } // else // { // GroupNode.ForeColor = Color.Green; // NPrivate.Nodes.Add(GroupNode); // } // #region List Groups Recordings // OysterClassLibrary.Recordings AR = CurrentGroup.CurrentRecordings; // if(AR.Count > 0) // { // // // ListView lvSessions = new ListView(); // //foreach(OysterClassLibrary.Recording R in B.Recordings) // foreach(OysterClassLibrary.Recording R in AR) // { // if(R.SessionID != "") // { // foreach(ListViewItem LVI in lvSessions.Items) // { // if(LVI.Text == R.SessionName) // goto SkipItem; // } // ListViewItem LCI = lvSessions.Items.Add(R.SessionName); // LCI.Tag = R.SessionID; // } // SkipItem:{} // } // TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; // int SessionCount = 0; // foreach(ListViewItem LVI in lvSessions.Items) // { // NodeSessions[SessionCount] = GroupNode.Nodes.Add(LVI.Text); // NodeSessions[SessionCount].Tag = LVI.Tag; // NodeSessions[SessionCount].ImageIndex = 2; // NodeSessions[SessionCount].SelectedImageIndex = 2; // SessionCount++; // } // // //foreach(OysterClassLibrary.Recording DrawRecording in B.Recordings) // foreach(OysterClassLibrary.Recording DrawRecording in AR) // { // // // if(DrawRecording.DisplayName == null) // // DrawRecording.DisplayName = DrawRecording.Created.ToString(); // TreeNode NodeRecording = new TreeNode(); // if(DrawRecording.SessionID == "") // { // NodeRecording = GroupNode.Nodes.Add(DrawRecording.DisplayName); // } // else // { // for(int a=0; a < SessionCount;a++) // { // if(DrawRecording.SessionName == NodeSessions[a].Text) // NodeRecording = NodeSessions[a].Nodes.Add(DrawRecording.DisplayName); // } // } // //DrawRecording.Se = B.ID; // if(DrawRecording.IsReady) // NodeRecording.Tag = DrawRecording; // else // NodeRecording.ForeColor = Color.Gray; // // NodeRecording.NodeFont = new Font("Arial",10,FontStyle.Regular); // NodeRecording.ImageIndex = 3; // NodeRecording.SelectedImageIndex = 3; // // //NodeRecording.ForeColor = System.Drawing.Color.DarkSlateBlue; // } // } // else // GroupNode.Nodes.Add("No Recordings Available"); // #endregion List Group Recordings // } // // if(NPublic.Nodes.Count == 0) // { // TreeNode NoPublic = NPublic.Nodes.Add("No public groups"); // } // // if(NPrivate.Nodes.Count == 0) // { // TreeNode NoPrivate = NPrivate.Nodes.Add("No private memberships"); // // } // } #endregion Delete Section #endregion CurrentMemberships //List Users Unassigned Recordings #region Users Unassigned Recordings bool RunThisOnce = false; TreeNode UNURecs = new TreeNode(); if(LoginUser.HighestAuthorityLevel.CanViewUnassignedRecordings.Count > 0) { OysterClassLibrary.Users AU = null; if(LoginUser.HighestAuthorityLevel.ID == OSystem.SectionTypeSysAdmin.ID) AU = OSystem.CurrentSystemUsers; else AU = LoginUser.AllMembersInHierarchy; foreach(OysterClassLibrary.User MyUser in AU) { foreach(OysterClassLibrary.Section DrawSection in MyUser.AllOwnedSections) { if((DrawSection.IsDefault)&&(DrawSection.CurrentRecordings.Count > 0)) { if(RunThisOnce == false) { UNURecs = Root.Nodes.Add("Current Users Unassigned Recordings"); UNURecs.ForeColor = Color.BurlyWood; RunThisOnce = true; } string testme = DrawSection.Description; if(DrawSection.OwnerID != LoginUser.ID) { TreeNode ThisUser = UNURecs.Nodes.Add(MyUser.Description); ThisUser.ForeColor = Color.Blue; ThisUser.ImageIndex = 0; ThisUser.SelectedImageIndex = 0; ThisUser.Tag = "UnassignedRecordingUser:"******"Failed to aquire listing..."); #region DisplayRecordings {This code has been moved to ExpandUnassignedUser And should be deleted after application is tested} // //IF Recording Sessions go ahead and prepare to draw // ListView lvSessions = new ListView(); // foreach(OysterClassLibrary.Recording R in DrawSection.CurrentRecordings) // { // if(R.SessionID != "") // { // foreach(ListViewItem LVI in lvSessions.Items) // { // if(LVI.Text == R.SessionName) // goto SkipItem; // } // // ListViewItem LGI = lvSessions.Items.Add(R.SessionName); // LGI.Tag = R.SessionID; // // } // SkipItem:{} // } // TreeNode[] NodeSessions = new TreeNode[lvSessions.Items.Count]; // int SessionCount = 0; // // foreach(ListViewItem LVI in lvSessions.Items) // { // //OysterClassLibrary.StreamingEncoder SE = OSystem.GetStreamingEncoderById(R.StreamingEncoderID); // // NodeSessions[SessionCount] = ThisUser.Nodes.Add(LVI.Text); // NodeSessions[SessionCount].ImageIndex = 2; // NodeSessions[SessionCount].SelectedImageIndex = 2; // NodeSessions[SessionCount].Tag = LVI.Tag; // SessionCount++; // } // // foreach(OysterClassLibrary.Recording DrawRecording in DrawSection.CurrentRecordings) // { // // bool DoesOwnCopy = F.HasInstanceOfRecording(DrawSection.OwnerID,DrawRecording.ID,DrawSection.ID); // if(true)// if(DoesOwnCopy == true) // { // //DrawRecording.BodyId = DrawBody.ID; // // if(DrawRecording.DisplayName == null) // // DrawRecording.DisplayName = DrawRecording.Created.ToString(); // // TreeNode NodeRecording = new TreeNode(); // if(DrawRecording.SessionID == "") // { // NodeRecording = ThisUser.Nodes.Add(DrawRecording.DisplayName); // } // else // { // for(int a=0; a < SessionCount;a++) // { // if(DrawRecording.SessionName == NodeSessions[a].Text) // NodeRecording = NodeSessions[a].Nodes.Add(DrawRecording.DisplayName); // } // } // // if(DrawRecording.IsReady) // NodeRecording.Tag = DrawRecording; // else // NodeRecording.ForeColor = Color.Gray; // // NodeRecording.ImageIndex = 3; // NodeRecording.SelectedImageIndex = 3; // // //NodeRecording.ForeColor = System.Drawing.Color.Brown; // NodeRecording.NodeFont = new Font("Arial",10,FontStyle.Regular); // // if(OpenToRecording == DrawRecording.ID) // { // // NodeRecording.EnsureVisible(); // treeView1.SelectedNode = NodeRecording; // g_objRecording = DrawRecording; // } // } // } #endregion } // else {TreeNode NodeURT = NodeX.Nodes.Add("No Unassigned Recordings");} } } } } #endregion Unassigned Users Recordings // Begin repainting the TreeView. //treeView1.Refresh(); //RestoreExpandedNodes(treeView1.Nodes); Root.Expand(); treeView1.EndUpdate(); treeView1.ResumeLayout(); this.ResumeLayout(); this.Cursor = OriginalCursor; F.Dispose(); }