public void pgHome_VMuktiEvent_Conference(object sender, VMuktiAPI.VMuktiEventArgs e) { try { VMukti.App.blnIsTwoPanel = true; if (!VMuktiAPI.VMuktiInfo.CurrentPeer.ConferenceUser.ContainsKey(int.Parse(e._args[0].ToString()))) { bool started = false; List<string> lstParticipantUsers = new List<string>(); ClsConferenceUsersCollection objConfInfo = ClsConferenceUsersCollection.GetConfInfo(int.Parse(e._args[0].ToString())); ClsConferenceUsers objConfStartedUser = new ClsConferenceUsers(); for (int CntConfUser = 0; CntConfUser < objConfInfo.Count; CntConfUser++) { if (objConfInfo[CntConfUser].Started) { objConfStartedUser = objConfInfo[CntConfUser]; started = true; break; } } if (!started) { objAmit.Visibility = Visibility.Collapsed; objBuddies.btnClose_Click(null,null); System.Threading.Thread.Sleep(1000); // ObjBuddy_CloseBuddy(); blOpenMExp = false; btnMExp_Click(null, null); ClsConferenceCollection objGetConfInfo = ClsConferenceCollection.GetUserConferences(int.Parse(e._args[0].ToString())); objVMuktiGrid.LoadPage(objGetConfInfo[0].PageID, int.Parse(e._args[0].ToString())); ClsConferenceUsers objUpdateStarted = new ClsConferenceUsers(); objUpdateStarted.UpdateStarted(int.Parse(e._args[0].ToString()), VMuktiAPI.VMuktiInfo.CurrentPeer.ID, true); VMuktiAPI.VMuktiInfo.CurrentPeer.ConferenceUser.Add(int.Parse(e._args[0].ToString()), VMuktiAPI.VMuktiInfo.CurrentPeer.ID); ClsConferenceUsersCollection objGetConParticipants = ClsConferenceUsersCollection.GetConfParticipants(int.Parse(e._args[0].ToString())); for (int PartCnt = 0; PartCnt < objGetConParticipants.Count; PartCnt++) { ClsUserInfo objGetUserInfo = new ClsUserInfo().User_GetByID(objGetConParticipants[PartCnt].UserID); lstParticipantUsers.Add(objGetUserInfo.DisplayName); } //ClsException.WriteToLogFile("lstParticipantUsers.Count " + lstParticipantUsers.Count.ToString()); if (lstParticipantUsers.Count > 0) { if (VMuktiAPI.VMuktiInfo.CurrentPeer.CurrPeerType == PeerType.NodeWithHttp) { App.chHttpSuperNodeService.svcEnterConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, lstParticipantUsers, int.Parse(e._args[0].ToString()), VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } else { App.chNetP2PSuperNodeChannel.svcEnterConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, lstParticipantUsers, int.Parse(e._args[0].ToString()), VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } } } else { if (objConfStartedUser != null) { ClsUserInfo objGetByID = new ClsUserInfo().User_GetByID(objConfStartedUser.UserID); if (VMuktiAPI.VMuktiInfo.CurrentPeer.CurrPeerType == PeerType.NodeWithHttp) { App.chHttpSuperNodeService.svcJoinConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, objGetByID.DisplayName, int.Parse(e._args[0].ToString()), VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } else { App.chNetP2PSuperNodeChannel.svcJoinConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, objGetByID.DisplayName, int.Parse(e._args[0].ToString()), VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } } VMuktiAPI.VMuktiInfo.CurrentPeer.ConferenceUser.Add(int.Parse(e._args[0].ToString()), objConfStartedUser.UserID); } } else { MessageBox.Show("Conference Already Started", "Conference", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK); } } catch (Exception ex) { VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "pgHome_VMuktiEvent_Conference()", "pgHome.xaml.cs"); } }
public void ClosePage() { try { int j = 0; int i = 0; for (i = 0; i < ((VMuktiGrid.ctlTab.TabControl)this.Content).Items.Count; i++) { for (j = 0; j < ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).CentralPanelContainer.Items.Count; j++) { if (((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).CentralPanelContainer.Items[j].GetType() == typeof(VMuktiGrid.CustomGrid.ctlPOD)) { ((VMuktiGrid.CustomGrid.ctlPOD)((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).CentralPanelContainer.Items[j]).btnCloseFromPage_Click(null, null); } } ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).CentralPanelContainer.Items.Clear(); for (j = 0; j < ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).LeftPanelContainer.Items.Count; j++) { if (((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).LeftPanelContainer.Items[j].GetType() == typeof(VMuktiGrid.CustomGrid.ctlPOD)) { ((VMuktiGrid.CustomGrid.ctlPOD)((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).LeftPanelContainer.Items[j]).btnCloseFromPage_Click(null, null); } } ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).LeftPanelContainer.Items.Clear(); for (j = 0; j < ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).RightPanelContainer.Items.Count; j++) { if (((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).RightPanelContainer.Items[j].GetType() == typeof(VMuktiGrid.CustomGrid.ctlPOD)) { ((VMuktiGrid.CustomGrid.ctlPOD)((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).RightPanelContainer.Items[j]).btnCloseFromPage_Click(null, null); } } ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).RightPanelContainer.Items.Clear(); for (j = 0; j < ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).TopPanelContainer.Items.Count; j++) { if (((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).TopPanelContainer.Items[j].GetType() == typeof(VMuktiGrid.CustomGrid.ctlPOD)) { ((VMuktiGrid.CustomGrid.ctlPOD)((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).TopPanelContainer.Items[j]).btnCloseFromPage_Click(null, null); } } ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).TopPanelContainer.Items.Clear(); for (j = 0; j < ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).BottomPanelContainer.Items.Count; j++) { if (((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).BottomPanelContainer.Items[j].GetType() == typeof(VMuktiGrid.CustomGrid.ctlPOD)) { ((VMuktiGrid.CustomGrid.ctlPOD)((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).BottomPanelContainer.Items[j]).btnCloseFromPage_Click(null, null); } } ((VMuktiGrid.CustomGrid.ctlGrid)((VMuktiGrid.ctlTab.TabItem)((VMuktiGrid.ctlTab.TabControl)this.Content).Items[i]).Content).BottomPanelContainer.Items.Clear(); } try { List<int> lstKeyRemove = new List<int>(); int myKey; foreach (KeyValuePair<int, int> kvp in VMuktiAPI.VMuktiInfo.CurrentPeer.ConferenceUser) { if (kvp.Key == this.ConfID) { if (kvp.Value == VMuktiAPI.VMuktiInfo.CurrentPeer.ID) { myKey = kvp.Key; //update this entry from database UPDATE ConferenceUsers set Started='true' where ConfID='3' and UserID='3' ClsConferenceUsers objUpdateStarted = new ClsConferenceUsers(); objUpdateStarted.UpdateStarted(kvp.Key, kvp.Value, false); List<string> lstBuddyName = new List<string>(); if (((ctlMenu)this.Template.FindName("objMenu", this)) != null) { lstBuddyName = ((ctlMenu)this.Template.FindName("objMenu", this)).GetBuddies(); } if (lstBuddyName.Count > 0) { if (VMuktiAPI.VMuktiInfo.CurrentPeer.CurrPeerType == PeerType.NodeWithHttp) { App.chHttpSuperNodeService.svcUnJoinConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, lstBuddyName, kvp.Key, VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } else { App.chNetP2PSuperNodeChannel.svcUnJoinConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, lstBuddyName, kvp.Key, VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } } //if possible tell other buddies to close this page of conference //on buddy side open the window displaying "Thank You for attending Meeting" } else { //CALL WCF FUNCTION TO TELL HOST AND OTHER PARTICIPANT THAT U R LEAVING THE CONF List<string> lstBuddyName = new List<string>(); if (((ctlMenu)this.Template.FindName("objMenu", this)) != null) { lstBuddyName = ((ctlMenu)this.Template.FindName("objMenu", this)).GetBuddies(); } if (lstBuddyName.Count > 0) { if (VMuktiAPI.VMuktiInfo.CurrentPeer.CurrPeerType == PeerType.NodeWithHttp) { App.chHttpSuperNodeService.svcRemoveConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, lstBuddyName, kvp.Key, VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } else { App.chNetP2PSuperNodeChannel.svcRemoveConf(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName, lstBuddyName, kvp.Key, VMuktiAPI.VMuktiInfo.CurrentPeer.SuperNodeIP); } } } //remove this entry //VMuktiAPI.VMuktiInfo.CurrentPeer.ConferenceUser.Remove(kvp.Key); lstKeyRemove.Add(kvp.Key); } } for (int KCnt = 0; KCnt < lstKeyRemove.Count; KCnt++) { VMuktiAPI.VMuktiInfo.CurrentPeer.ConferenceUser.Remove(lstKeyRemove[KCnt]); } } catch (Exception ex) { VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "ClosePage()", "Controls\\VMuktiGrid\\Page\\TabItem.cs"); } ((VMuktiGrid.ctlPage.TabControl)this.Parent).Items.Remove(this); } catch (Exception ex) { VMuktiAPI.VMuktiHelper.ExceptionHandler(ex, "ClosePage()--2", "Controls\\VMuktiGrid\\Page\\TabItem.cs"); } }