Files
modernkeepass/WinAppCommon/ViewModels/Items/SettingsSecurityVm.cs

37 lines
1.4 KiB
C#
Raw Normal View History

using System.Threading.Tasks;
using GalaSoft.MvvmLight;
using MediatR;
using Messages;
using ModernKeePass.Application.Common.Interfaces;
using ModernKeePass.Application.Database.Commands.UpdateCredentials;
2020-04-22 18:12:28 +02:00
using ModernKeePass.Application.Database.Queries.GetDatabase;
namespace ModernKeePass.ViewModels.ListItems
{
public class SettingsSecurityVm: ViewModelBase
{
private readonly IMediator _mediator;
2020-04-22 18:12:28 +02:00
private readonly IResourceProxy _resource;
private readonly INotificationService _notification;
public SettingsSecurityVm(IMediator mediator, IResourceProxy resource, INotificationService notification)
{
_mediator = mediator;
2020-04-22 18:12:28 +02:00
_resource = resource;
_notification = notification;
MessengerInstance.Register<CredentialsSetMessage>(this, async message => await UpdateDatabaseCredentials(message));
}
public async Task UpdateDatabaseCredentials(CredentialsSetMessage message)
{
await _mediator.Send(new UpdateCredentialsCommand
{
KeyFilePath = message.KeyFilePath,
Password = message.Password
});
2020-04-22 18:12:28 +02:00
var database = await _mediator.Send(new GetDatabaseQuery());
_notification.Show(database.Name, _resource.GetResourceValue("CompositeKeyUpdated"));
}
}
}