private void imgButtonView_Click(object sender, System.Web.UI.ImageClickEventArgs e) { string[] checkit = imgButtonView.ImageUrl.Split('/'); Functions F = new Functions(); Transitioning = true; switch(checkit[1]) { case "Tab_B_ViewRec.jpg": TreeNode XNode = tv.GetNodeFromIndex(tv.SelectedNodeIndex); string seeText = XNode.Type; if(XNode.Type != "Recording") { return; } if(XNode.Type == "Recording") { string[] sarray = XNode.NodeData.Split(':'); int RecordingId = Convert.ToInt32(sarray[0],10); Recording Rec = F.GetRecording(RecordingId); if(Rec.Description == "") { return; } VideoStorageServer VSS = F.GetVideoStorageServer(Rec.VideoStorageServerID); string sRecording = ""; VideoStorageServerType VST = VSS.CurrentVideoStorageServerType; if(VSS.ControlAddress != "Not Assigned") { if(VST.Description == "Windows Media Server") sRecording = VST.StreamHeader + VSS.ControlAddress + "/" + VSS.StorageDirectory + "/" + Rec.Description; else sRecording = VST.StreamHeader + VSS.ControlAddress + "/" + Rec.Description; } else sRecording = Rec.Description; string NodeData = Rec.ID + "~" + sRecording + "~" + Rec.DisplayName + "~" + "RECORDING"; txtRecording.Value = NodeData; } break; case "Tab_B_ViewSes.jpg": TreeNode XNode2 = tv.GetNodeFromIndex(tv.SelectedNodeIndex); string seeText2 = XNode2.Type; if(XNode2.Type != "RecordingSession") { return; } string[] sarray2 = XNode2.NodeData.Split(':'); string SessionId = Convert.ToString(sarray2[0]); string[] sRecordingIds = new string[XNode2.Nodes.Count]; int nCount = 0; while(nCount < XNode2.Nodes.Count) { TreeNode YNode = XNode2.Nodes[nCount]; if(YNode.Type != "Recording") goto SkipIt; else if (YNode == null) break; sRecordingIds[nCount] = YNode.NodeData; nCount++; SkipIt:{} } // Recordings AR = F.GetSessionById(SessionId); Recordings AR = new Recordings(); for(int p=0; p<nCount;p++) { string[] sarray3 = sRecordingIds[p].Split(':'); int RecordingId = Convert.ToInt32(sarray3[0],10); Recording Rec = F.GetRecording(RecordingId); AR.Add(Rec); } int GlobalPlayers = Convert.ToInt32(NumPlayers.Value); if((6 - GlobalPlayers) < AR.Count) { txtAlert.Value = "Action Aborted: Not enough Players to view all Session's Recordings. You must remove some of the current view windows before viewing this entire session."; return; } else if(AR.Count > 6) { txtAlert.Value = "Action Aborted: Not enough Players to view all Session's Recordings. You must manually add the recordings you wish to view from this session."; return; } string NodeData2 = ""; bool DidOnce = false; foreach(Recording r in AR) { if(DidOnce == false) { DidOnce=true; } else NodeData2 += "~"; VideoStorageServer VSS = F.GetVideoStorageServer(r.VideoStorageServerID); string sRecording = ""; if(VSS.ControlAddress != "Not Assigned") { if(VSS.StorageDirectory != "") sRecording = "mms://" + VSS.ControlAddress + "/" + VSS.StorageDirectory + "/" + r.Description; else sRecording = "mms://" + VSS.ControlAddress + "/" + r.Description; } else sRecording = r.Description; NodeData2 += r.ID + "*" + sRecording + "*" + r.DisplayName + "*" + "*" + "SESSION"; } if(NodeData2 != "") txtRecording.Value = NodeData2; break; case "Tab_B_ViewCam.jpg": TreeNode NCam = CTV.GetNodeFromIndex(CTV.SelectedNodeIndex); string seeText3 = NCam.Type; if(NCam.Type != "Camera") { return; } int EncoderId = 0; try { EncoderId = Convert.ToInt32(NCam.NodeData,10); } catch(Exception Err) { txtAlert.Value = "Unable to aquire Encoder Identification"; return; } OysterClassLibrary.StreamingEncoder SE = OSystem.GetStreamingEncoderById(EncoderId); string sURL = ""; switch(SE.CurrentStreamingEncoderType.Description) { // case "": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; // case "rstp://": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; // case @"http://": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; case "VBrick": sURL = SE.StreamingHeader + "ip=" + SE.StreamingAddress + "&port=" + SE.StreamingPort; break; case "VBrick Sys": sURL = SE.StreamingHeader + "ip=" + SE.StreamingAddress + "&port=" + SE.StreamingPort; break; case "Oyster Encoder": //sURL = "Unreal`" + SE.ControlAddress + ":" + SE.StreamingPort + "`" + SE.StreamingAddress; sURL = "Unreal`" + SE.StreamingAddress + ":" + "5119" + "`" + SE.ControlAddress; break; default: string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; break; } string CameraData = SE.ID + "~" + sURL + "~" + SE.Description + "~" + "CAMERA"; txtRecording.Value = CameraData; break; case "Tab_B_ViewSce.jpg": TreeNode NScene = CTV.GetNodeFromIndex(CTV.SelectedNodeIndex); string seeText4 = NScene.Type; if(NScene.Type != "Scene") { return; } int GroupId = 0; int SceneId = 0; string SceneData = ""; try { SceneData = NScene.NodeData; } catch(Exception Err) { txtAlert.Value = "Unable to aquire Scene Identification"; return; } string[] ScenePacket = SceneData.Split('~'); try { GroupId = Convert.ToInt32(ScenePacket[0],10); SceneId = Convert.ToInt32(ScenePacket[1],10); } catch(Exception Err) { txtAlert.Value = "Action Aborted: Error loading Scenes!"; } OysterClassLibrary.Group CurGroup = null; OysterClassLibrary.Room CurRoom = null; OysterClassLibrary.Groups AllGroups = OSystem.GetALLGroups(false); foreach(OysterClassLibrary.Group G in AllGroups) { if(G.ID == GroupId) { CurGroup = G; break; } } foreach(OysterClassLibrary.Room CRM in CurGroup.CurrentRooms) { if(CRM.ID == SceneId) { CurRoom = CRM; break; } } string sURL2 = ""; bool DidOnce2 = false; string CameraData2 = ""; int NumberCamerasCount = 0; if(CurGroup.IsPublicAccess) { foreach(OysterClassLibrary.StreamingEncoder SE2 in CurGroup.CurrentStreamingEncoders) { bool CanContinue = false; if(SE2.CurrentRoom.ID == SceneId) { CanContinue = true; } if(CanContinue == false) { continue; } if(DidOnce2 == false) { DidOnce2=true; } else CameraData2 += "~"; NumberCamerasCount++; //switch(SE2.StreamingHeader) switch(SE2.CurrentStreamingEncoderType.Description) { // case "": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; // case "rstp://": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; // case @"http://": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; case "VBrick": sURL2 = SE2.StreamingHeader + "ip=" + SE2.StreamingAddress + "&port=" + SE2.StreamingPort; break; case "VBrick Sys": sURL2 = SE2.StreamingHeader + "ip=" + SE2.StreamingAddress + "&port=" + SE2.StreamingPort; break; case "Oyster Encoder": //sURL2 = "Unreal`" + SE2.ControlAddress + ":" + SE2.StreamingPort + "`" + SE2.StreamingAddress; sURL2 = "Unreal`" + SE2.StreamingAddress + ":" + "5119" + "`" + SE2.ControlAddress; break; default: string VSSAddress = SE2.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; sURL2 = SE2.StreamingHeader + VSSAddress + @"/"+ SE2.ControlAddress; break; } CameraData2 += SE2.ID + "*" + sURL2 + "*" + SE2.Description + "*" + "CAMERA"; } } else { foreach(OysterClassLibrary.StreamingEncoder SE2 in CurRoom.AllCurrentStreamingEncoders) { if(SE2.RoomID == SceneId) { if(DidOnce2 == false) { DidOnce2=true; } else CameraData2 += "~"; NumberCamerasCount++; //switch(SE2.StreamingHeader) switch(SE2.CurrentStreamingEncoderType.Description) { // case "": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; // case "rstp://": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; // case @"http://": // string VSSAddress = SE.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; // sURL = SE.StreamingHeader + VSSAddress + @"/"+ SE.ControlAddress; // break; case "VBrick": sURL2 = SE2.StreamingHeader + "ip=" + SE2.StreamingAddress + "&port=" + SE2.StreamingPort; break; case "VBrick Sys": sURL2= SE2.StreamingHeader + "ip=" + SE2.StreamingAddress + "&port=" + SE2.StreamingPort; break; case "Oyster Encoder": //sURL2 = "Unreal`" + SE2.StreamingAddress + ":" + 5119 + "`" + SE2.ControlAddress; sURL2 = "Unreal`" + SE2.StreamingAddress + ":" + "5119" + "`" + SE2.ControlAddress; break; default: string VSSAddress = SE2.CurrentMediaBufferServer.CurrentForwardingServer.CurrentVideoStorageServer.ControlAddress; sURL2 = SE2.StreamingHeader + VSSAddress + @"/"+ SE2.ControlAddress; break; } CameraData2 += SE2.ID + "*" + sURL2 + "*" + SE2.Description + "*" + "CAMERA"; } } } int GlobalPlayers2 = Convert.ToInt32(NumPlayers.Value); if((6 - GlobalPlayers2) < NumberCamerasCount) { txtAlert.Value = "Action Aborted: Not enough Players to view all Scene's Cameras. You must remove some of the current view windows before viewing this entire scene."; return; } else if(NumberCamerasCount > 6) { txtAlert.Value = "Action Aborted: Not enough Players to view all Scene's Cameras. You must manually add the recordings you wish to view from this scene."; return; } txtRecording.Value = CameraData2; break; case "Tab_B_NewNote.jpg": //txtPausePlayers.Value = "Pause"; //dgNotes.Visible = false; //lblSync.Visible = true; //tbSync.Visible = true; //taNote.Visible = true; //lblNoNote.Visible = false; LockAll.Value = "true"; //Response.Write("<script language=javascript> Temp1.taNote.Focus() </script>"); //txtFocus.Value = "taNote"; //string[] NodeData3 = txtNotes.Value.Split(' '); if(txtTimeStamp.Value == "") tbDialogData.Value = "00:00:00~Please type your Note description here."; else tbDialogData.Value = txtTimeStamp.Value + "*Type your Note description here."; // if(txtTimeStamp.Value == "") // tbDialogData.Value = "00:00:00~Please type your Note description here."; // else // tbDialogData.Value = txtTimeStamp.Value + "~Please type your Note description here."; //TabStrip1.Enabled = false; //imgButtonView.ImageUrl = "images/btnCancel.jpg"; //imgButtonRename.ImageUrl = "images/btnConfirm.jpg"; //imgButtonView.Visible=true; //imgButtonRename.Visible=true; //imgButtonMove.Visible=false; //imgButtonMisc.Visible=false; //Session["NoteAction"] = "New"; //tbSync.Disabled = false; tbShowDialog.Value = "NewNote"; break; case "btnCancel.jpg": LockAll.Value = "false"; SwitchButtons(3); //RefreshGrid(); TabStrip1.Enabled = true; break; } }
/// <summary> /// Returns all Recordings currently in a given Section /// </summary> /// <param name="SectionID"></param> /// <returns></returns> public Recordings ALLRecordings(int SectionID) { try { Recordings X = new Recordings(); string sSQL = "SELECT DISTINCT * FROM tblRecording LEFT OUTER JOIN " + " tblUserRecordingSectionRel ON tblUserRecordingSectionRel.RecordingId = tblRecording.Id" + " WHERE tblUserRecordingSectionRel.SectionId = " + SectionID + " ORDER BY tblRecording.DisplayName"; DataTable DT = GetDataTable(sSQL); foreach(DataRow R in DT.Rows) { //Recording Rec = null; int RecId = Convert.ToInt32((object)R[0]); if(RecId != 0) { string sSQL2 = "SELECT * FROM tblUserRecordingSectionRel WHERE SectionId = " + SectionID + " AND RecordingId = " + RecId; DataTable DT2 = GetDataTable(sSQL2); foreach(DataRow R2 in DT2.Rows) { Recording Rec = GetRecording(RecId); if(Rec != null) { Rec.mvarCurrentSectionID = SectionID; Rec.mvarCurrentUserID = Convert.ToInt32(R2[0]); X.Add(Rec); } } DT2.Dispose(); } } DT.Dispose(); return X; } catch(Exception Err) { throw new ApplicationException(Err.Message); } }
/// <summary> /// Returns all Record currently owned by a particular User /// </summary> /// <param name="UserID"></param> /// <param name="SectionID"></param> /// <returns></returns> public Recordings ALLRecordingsByUser(int UserID) { //int UserID = Convert.ToInt32(dUserID); try { Recordings X = new Recordings(); string sSQL = "SELECT DISTINCT tblRecording.* FROM tblRecording LEFT OUTER JOIN " + " tblUserRecordingSectionRel ON tblUserRecordingSectionRel.RecordingId = tblRecording.Id" + " WHERE tblUserRecordingSectionRel.UserId = " + UserID + " ORDER BY tblRecording.DisplayName"; DataTable DT = GetDataTable(sSQL); foreach(DataRow R in DT.Rows) { Recording Rec = null; Rec = FillRecording(R); Rec.mvarCurrentUserID = UserID; Rec.mvarCurrentSectionID = Convert.ToInt32(R[2]); if(Rec != null) X.Add(Rec); } DT.Dispose(); return X; } catch(Exception Err) { throw new ApplicationException(Err.Message); } }
/// <summary> /// Returns all Recordings currently in the System /// </summary> /// <returns></returns> public Recordings ALLRecordings() { try { Recordings X = new Recordings(); string sSQL = "Select * FROM tblRecording ORDER BY DisplayName"; DataTable DT = GetDataTable(sSQL); foreach(DataRow R in DT.Rows) { Recording Rec = null; Rec = FillRecording(R); if(Rec != null) X.Add(Rec); } DT.Dispose(); return X; } catch(Exception Err) { throw new ApplicationException(Err.Message); } }
public void MoveSession(int UserId, int SectionId, string SessionId, int TargetUserId, int TargetSectionId) { //Aquire all the session's recordings which are in this section currently assigned to this User Recordings ARecs = ALLRecordings(UserId,SectionId); Recordings CurrentRecordings = new Recordings(); foreach(Recording Rec in ARecs) { if(Rec.SessionID == SessionId) { CurrentRecordings.Add(Rec); } } //Move each of these recordings to the new User and Section foreach(Recording Rec in CurrentRecordings) { MoveRecording(Rec.ID,TargetUserId,TargetSectionId,UserId,SectionId); } }
public Recordings GetDeletedRecordingsByPageNumber(int PageSize, int PageNumber) { /// TEMPLATE CODE FOR PAGING //////////////////////////////////////////////////////////////// /// ///////////////////////////////////////////////////////////////////////////////////////// /// SELECT TOP PAGESIZE * FROM TABLENAME /// WHERE PRIMARYKEY NOT IN ( SELECT TOP (PAGE NUMBER – 1) * PAGESIZE /// PRIMARYKEY FROM TABLENAME) /// ////////////////////////////////////////////////////////////////////////////////////////// // string sSQL = "SELECT TOP " + PageSize + " * FROM tblRecording " + // " WHERE tblRecording.Id NOT IN ( SELECT TOP (" + PageNumber + " - 1) * " + PageSize + // " tblRecording.Id FROM tblRecording)"; string sSQL = "SELECT TOP " + PageSize + " *" + " FROM tblRecording" + " WHERE (Id NOT IN " + " (SELECT TOP " + Convert.ToInt32((PageNumber - 1)* PageSize) + " ID" + " FROM tblRecording WHERE IsMarkedForDeletion <> 0 ORDER BY DisplayName)) AND (IsMarkedForDeletion <> 0) ORDER BY DisplayName"; DataTable DT = GetDataTable(sSQL); Recordings X = new Recordings(); foreach(DataRow r in DT.Rows) { Recording Rec = FillRecording(r); X.Add(Rec); } return X; }
public Recordings GetAllRecordingsMarkedForDeletion() { try { Recordings X = new Recordings(); string sSQL = "Select * FROM tblRecording WHERE IsMarkedForDeletion <> 0"; DataTable DT = GetDataTable(sSQL); foreach(DataRow r in DT.Rows) { //int RecordingId = Convert.ToInt32(r[0]); Recording Rec = FillRecording(r); X.Add(Rec); } if(X.Count == 0) X = null; return X; } catch(Exception Err) { throw new ApplicationException(Err.Message); } }
public Recordings ALL_Recordings(int GroupId) { try { Recordings X = new Recordings(); string sSQL = "SELECT RecordingId FROM tblGroupRecordingRel WHERE GroupId = " + GroupId; DataTable DT = GetDataTable(sSQL); foreach(DataRow R in DT.Rows) { Recording Rec = null; Rec = GetRecording(Convert.ToInt32((object)R[0])); if(Rec != null) X.Add(Rec); } DT.Dispose(); return X; } catch(Exception Err) { throw new ApplicationException(Err.Message); } }