private void JoinLobby(object parameter) { Guid lobbyId = (Guid)parameter; DinnergeddonServiceReference.Lobby lobbyToJoin = _proxy.GetLobbyById(lobbyId); Guid userId = customPrincipal.Identity.Id; if (!IsJoinedInALobby(userId)) { //_proxy.GetLobbyById(lobbyId); if (lobbyToJoin.IsPrivate) { pd = new InputPasswordDialog() { DataContext = new InputPasswordViewModel() }; pd.Show(); string password = ""; Mediator.Subscribe("PassWordCorrect", new Action <object>((x) => { App.Current.Dispatcher.Invoke((Action) delegate { pd.Close(); //_proxy.JoinLobby(userId, lobbyId, password); }); password = x as String; JoinPrivateLobby(customPrincipal.Identity.Id, lobbyId, password); })); } else { Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { lobbyToJoin = _proxy.JoinLobby(userId, lobbyId); })); if (lobbyToJoin == null) { MessageBox.Show("Joining this lobby is not possible", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { OpenLobby(lobbyToJoin.Id); } } } else { if (IsJoinedInTheLobby(userId, lobbyId)) { // _proxy.GetLobbyById(lobbyId); OpenLobby(lobbyId); } else { MessageBox.Show("You already joined a lobby", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private async Task OpenUnencryptingDialog() { var dialog = new InputPasswordDialog("暗号化を解除するにはパスワードを入力する必要があります。"); if (dialog.ShowDialog() == true) { await LibraryVM.StartUnencryption(dialog.Password); } }
public bool UnlockIfLocked() { var encryptedItems = EncryptImageFacade.FindAll(); if (encryptedItems.Count() == 0) { return(false); } InputPasswordDialog dialog = new InputPasswordDialog("このライブラリは暗号化されています。閲覧するにはパスワードが必要です。"); if (dialog.ShowDialog() == true) { Configuration.ApplicationConfiguration.Password = dialog.Password; return(true); } else { return(false); } }