private async Task CreateUserRequest(SecureString password, SecureString confirmPass, string userID, string email, string firstName, string lastName) { //Convert to unsecure string unsecurePassword = Utility.ConvertToUnsecureString(password); string unsecureConfirmPass = Utility.ConvertToUnsecureString(confirmPass); //Check for uniformity if (RegisterViewModel.CheckPassUniformity(unsecurePassword, unsecureConfirmPass)) { if (await(_viewModel as RegisterViewModel).Register(userID, email, unsecurePassword)) { Settings.Default.Username = userID; Settings.Default.Save(); Dispatcher.Invoke(DispatcherPriority.Background, new Action(async() => { await AnimateOut(); (Application.Current.MainWindow as MainWindow).frame.NavigationService.Navigate(new LoginPage()); })); } } else { spinner_imageawesome.Visibility = Visibility.Hidden; ((Application.Current.MainWindow as MainWindow).ViewModel as MainViewModel).DisplayErrorMessage("The passwords did not match"); } Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { spinner_imageawesome.Visibility = Visibility.Hidden; })); }