Files
Wino-Mail/Wino.Mail.WinUI/Views/Settings/AliasManagementPage.xaml.cs
T

57 lines
1.8 KiB
C#

using System.Security.Cryptography.X509Certificates;
using Microsoft.UI.Xaml.Controls;
using Wino.Core.Domain.Entities.Mail;
using Wino.Views.Abstract;
namespace Wino.Views.Settings;
public sealed partial class AliasManagementPage : AliasManagementPageAbstract
{
public AliasManagementPage()
{
InitializeComponent();
}
private void SetAliasPrimary_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
if (sender is RadioButton button && button.CommandParameter is MailAccountAlias alias)
{
ViewModel.SetAliasPrimaryCommand.Execute(alias);
}
}
private void DeleteAlias_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
if (sender is Button button && button.CommandParameter is MailAccountAlias alias)
{
ViewModel.DeleteAliasCommand.Execute(alias);
}
}
private async void SigningCertificateDropDownClosed(object sender, object e)
{
var (alias, cert) = GetAliasAndSelectedCertificateForCombobox(sender);
if (alias is not null)
{
await ViewModel.SetSelectedSigningCertificate(alias, cert);
}
}
private static (MailAccountAlias? alias, X509Certificate2? cert) GetAliasAndSelectedCertificateForCombobox(object sender)
{
var comboBox = sender as ComboBox;
var alias = comboBox?.DataContext as MailAccountAlias;
var selected = comboBox?.SelectedItem as X509Certificate2;
return (alias, selected);
}
private async void SmimeClicked(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
var checkBox = sender as CheckBox;
if (checkBox?.DataContext is MailAccountAlias alias)
{
await ViewModel.SetAliasSmimeEncryption(alias, checkBox.IsChecked ?? false);
}
}
}