39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using Livia.Models;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace LiviaAdmin.ViewModels;
|
|
|
|
public class MainWindowViewModel : ObservableRecipient
|
|
{
|
|
public string HardwareId { get => _hardwareId; set => SetProperty(ref _hardwareId, value); }
|
|
public DateTime ExpireDate { get => _expireDate; set => SetProperty(ref _expireDate, value); }
|
|
public string AuthenticationKey { get => _authenticationKey; set => SetProperty(ref _authenticationKey, value); }
|
|
|
|
private string _hardwareId;
|
|
private string _authenticationKey = string.Empty;
|
|
|
|
private DateTime _expireDate = new(2099, 01, 01);
|
|
private readonly ILogger _logger;
|
|
private readonly ISerialKeyManager _serialKeyManager;
|
|
|
|
public MainWindowViewModel(ILogger logger, ISerialKeyManager serialKeyManager)
|
|
{
|
|
_logger = logger;
|
|
_serialKeyManager = serialKeyManager;
|
|
|
|
_hardwareId = _serialKeyManager.HardwareId;
|
|
}
|
|
|
|
public void GenerateAuthenticationKey()
|
|
{
|
|
_logger.LogInformation("GenerateAuthenticationKey");
|
|
AuthenticationKeyLicense license = new()
|
|
{
|
|
ExpireDateTime = ExpireDate,
|
|
HardwareId = HardwareId
|
|
};
|
|
|
|
AuthenticationKey = _serialKeyManager.EncryptLicense(license);
|
|
}
|
|
} |