From 82e9a7d1ee9f25fa64ebb46780278053775d44db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Chy=C5=BCy?= Date: Wed, 24 Jun 2020 21:15:13 +0200 Subject: [PATCH] m --- .../Pages/ChangePasswordPage.xaml.cs | 5 +---- .../SafeMessageStorageService.cs | 2 +- .../ViewModels/ChangePasswordViewModel.cs | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Pages/ChangePasswordPage.xaml.cs b/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Pages/ChangePasswordPage.xaml.cs index d60ade1..14ebecb 100644 --- a/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Pages/ChangePasswordPage.xaml.cs +++ b/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Pages/ChangePasswordPage.xaml.cs @@ -15,12 +15,10 @@ namespace SafeMessageStorage.Pages public partial class ChangePasswordPage : ContentPage { private ChangePasswordViewModel _viewModel => this.BindingContext as ChangePasswordViewModel; - private IMessageStorageService _messageStorage; public ChangePasswordPage(IAuthorizationService authorizationService, IMessageStorageService messageStorage) { InitializeComponent(); - BindingContext = new ChangePasswordViewModel(authorizationService); - _messageStorage = messageStorage; + BindingContext = new ChangePasswordViewModel(authorizationService,messageStorage); _viewModel.PasswordSetFailed += _viewModel_PasswordSetFailed; _viewModel.PasswordSetSucceeded += _viewModel_PasswordSetSucceeded; @@ -29,7 +27,6 @@ namespace SafeMessageStorage.Pages private async void _viewModel_PasswordSetSucceeded(object sender, EventArgs e) { - await _messageStorage.DeleteAllMessagesAsync(); await Navigation.PopAsync(); } diff --git a/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Services/MessageStorageService/SafeMessageStorageService.cs b/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Services/MessageStorageService/SafeMessageStorageService.cs index 96f763f..686d385 100644 --- a/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Services/MessageStorageService/SafeMessageStorageService.cs +++ b/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/Services/MessageStorageService/SafeMessageStorageService.cs @@ -62,7 +62,7 @@ namespace SafeMessageStorage.Services.MessageStorageService public async Task DeleteAllMessagesAsync() { - CheckIfAuthorized(); + //CheckIfAuthorized(); return Xamarin.Essentials.SecureStorage.Remove(_messagesKey); } diff --git a/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/ViewModels/ChangePasswordViewModel.cs b/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/ViewModels/ChangePasswordViewModel.cs index 24ed825..ddf992b 100644 --- a/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/ViewModels/ChangePasswordViewModel.cs +++ b/src/SafeMessageStorage/SafeMessageStorage/SafeMessageStorage/ViewModels/ChangePasswordViewModel.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Windows.Input; using SafeMessageStorage.Services.AuthorizationService; +using SafeMessageStorage.Services.MessageStorageService; using Xamarin.Forms; namespace SafeMessageStorage.ViewModels @@ -10,10 +11,12 @@ namespace SafeMessageStorage.ViewModels public class ChangePasswordViewModel : ViewModelBase { private IAuthorizationService _authorizationService; + private IMessageStorageService _messageStorage; - public ChangePasswordViewModel(IAuthorizationService authorizationService) + public ChangePasswordViewModel(IAuthorizationService authorizationService, IMessageStorageService messageStorage) { _authorizationService = authorizationService; + _messageStorage = messageStorage; } private string _currentPassword; @@ -45,6 +48,7 @@ namespace SafeMessageStorage.ViewModels private async void SetPassword(string currentPassword, string password, string repeatPassword) { + var oldData = await _messageStorage.ReadMessagesAsync(); if(!await _authorizationService.AuthorizeAsync(currentPassword)) PasswordSetFailed?.Invoke(this, "Current password doesn't match"); @@ -55,7 +59,16 @@ namespace SafeMessageStorage.ViewModels else { if (await _authorizationService.ChangePasswordAsync(currentPassword, password)) + { + await _messageStorage.DeleteAllMessagesAsync(); + foreach (var message in oldData) + { + await _messageStorage.SaveMessageAsync(message); + } + PasswordSetSucceeded?.Invoke(this, EventArgs.Empty); + + } } } }