private void btnUserState_Click(object sender, RoutedEventArgs e) { channel = txtChannel.Text; this.IsEnabled = false; Border border = new Border(); border.BorderBrush = new SolidColorBrush(Colors.Black); border.BorderThickness = new Thickness(5.0); StackPanel userStateStackPanel = new StackPanel(); userStateStackPanel.Background = new SolidColorBrush(Colors.Blue); userStatePopup = new Popup(); userStatePopup.Height = 300; userStatePopup.Width = 300; userStatePopup.HorizontalOffset = 10; userStatePopup.VerticalOffset = 100; UserStateUserControl control = new UserStateUserControl(); TextBox txtGetUserStateUUID = control.FindName("txtGetUserStateUUID") as TextBox; if (txtGetUserStateUUID != null) { txtGetUserStateUUID.Text = data.sessionUUID; } userStateStackPanel.Children.Add(control); border.Child = userStateStackPanel; userStatePopup.Child = border; userStatePopup.IsOpen = true; userStatePopup.Closed += (senderPopup, argsPopup) => { if (control.IsOKButtonEntered) { if (control.IsSetUserState) { string userStateKey1 = ""; string userStateValue1 = ""; TextBox txtSetUserStateKey1 = control.FindName("txtKey1") as TextBox; if (txtSetUserStateKey1 != null) { userStateKey1 = txtSetUserStateKey1.Text; } TextBox txtSetUserStateVal1 = control.FindName("txtValue1") as TextBox; if (txtSetUserStateVal1 != null) { userStateValue1 = txtSetUserStateVal1.Text; } DisplayMessageInTextBox("Running Set User State:"); int valueInt; double valueDouble; if (Int32.TryParse(userStateValue1, out valueInt)) { pubnub.SetUserState<string>(channel, new KeyValuePair<string, object>(userStateKey1, valueInt), PubnubCallbackResult, PubnubDisplayErrorMessage); } else if (Double.TryParse(userStateValue1, out valueDouble)) { pubnub.SetUserState<string>(channel, new KeyValuePair<string, object>(userStateKey1, valueDouble), PubnubCallbackResult, PubnubDisplayErrorMessage); } else { pubnub.SetUserState<string>(channel, new KeyValuePair<string, object>(userStateKey1, userStateValue1), PubnubCallbackResult, PubnubDisplayErrorMessage); } } else if (control.IsGetUserState) { txtGetUserStateUUID = control.FindName("txtGetUserStateUUID") as TextBox; if (txtGetUserStateUUID != null) { DisplayMessageInTextBox("Running Get User State:"); string userStateUUID = txtGetUserStateUUID.Text.Trim(); pubnub.GetUserState<string>(channel, userStateUUID, PubnubCallbackResult, PubnubDisplayErrorMessage); } } } userStatePopup = null; this.IsEnabled = true; }; }
private void btnUserState_Click(object sender, RoutedEventArgs e) { channel = txtChannel.Text; this.IsEnabled = false; Border border = new Border(); border.BorderBrush = new SolidColorBrush(Colors.Black); border.BorderThickness = new Thickness(5.0); StackPanel userStateStackPanel = new StackPanel(); userStateStackPanel.Background = new SolidColorBrush(Colors.Blue); userStatePopup = new Popup(); userStatePopup.Height = 300; userStatePopup.Width = 300; userStatePopup.HorizontalOffset = 10; userStatePopup.VerticalOffset = 100; UserStateUserControl control = new UserStateUserControl(); TextBox txtGetUserStateUUID = control.FindName("txtGetUserStateUUID") as TextBox; if (txtGetUserStateUUID != null) { txtGetUserStateUUID.Text = data.sessionUUID; } userStateStackPanel.Children.Add(control); border.Child = userStateStackPanel; userStatePopup.Child = border; userStatePopup.IsOpen = true; userStatePopup.Closed += (senderPopup, argsPopup) => { if (control.IsOKButtonEntered) { if (control.IsSetUserState) { string userStateKey1 = ""; string userStateValue1 = ""; TextBox txtSetUserStateKey1 = control.FindName("txtKey1") as TextBox; if (txtSetUserStateKey1 != null) { userStateKey1 = txtSetUserStateKey1.Text; } TextBox txtSetUserStateVal1 = control.FindName("txtValue1") as TextBox; if (txtSetUserStateVal1 != null) { userStateValue1 = txtSetUserStateVal1.Text; } DisplayMessageInTextBox("Running Set User State:"); int valueInt; double valueDouble; if (Int32.TryParse(userStateValue1, out valueInt)) { pubnub.SetUserState <string>(channel, new KeyValuePair <string, object>(userStateKey1, valueInt), PubnubCallbackResult, PubnubDisplayErrorMessage); } else if (Double.TryParse(userStateValue1, out valueDouble)) { pubnub.SetUserState <string>(channel, new KeyValuePair <string, object>(userStateKey1, valueDouble), PubnubCallbackResult, PubnubDisplayErrorMessage); } else { pubnub.SetUserState <string>(channel, new KeyValuePair <string, object>(userStateKey1, userStateValue1), PubnubCallbackResult, PubnubDisplayErrorMessage); } } else if (control.IsGetUserState) { txtGetUserStateUUID = control.FindName("txtGetUserStateUUID") as TextBox; if (txtGetUserStateUUID != null) { DisplayMessageInTextBox("Running Get User State:"); string userStateUUID = txtGetUserStateUUID.Text.Trim(); pubnub.GetUserState <string>(channel, userStateUUID, PubnubCallbackResult, PubnubDisplayErrorMessage); } } } userStatePopup = null; this.IsEnabled = true; }; }