Files
Sharepoint-Toolbox/SharepointToolbox/Views/Tabs/VersionCleanupView.xaml.cs
T

55 lines
1.9 KiB
C#

using System.Windows;
using System.Windows.Controls;
using SharepointToolbox.Core.Models;
using SharepointToolbox.Services;
using SharepointToolbox.Views.Dialogs;
namespace SharepointToolbox.Views.Tabs;
public partial class VersionCleanupView : UserControl
{
private readonly ViewModels.Tabs.VersionCleanupViewModel _viewModel;
private readonly ISessionManager _sessionManager;
private readonly IVersionCleanupService _versionService;
public VersionCleanupView(
ViewModels.Tabs.VersionCleanupViewModel viewModel,
ISessionManager sessionManager,
IVersionCleanupService versionService)
{
InitializeComponent();
_viewModel = viewModel;
_sessionManager = sessionManager;
_versionService = versionService;
DataContext = viewModel;
viewModel.PickLibrariesAsync = async (siteUrl, preselected) =>
{
if (viewModel.CurrentProfile == null) return null;
var profile = new TenantProfile
{
TenantUrl = siteUrl,
ClientId = viewModel.CurrentProfile.ClientId,
Name = viewModel.CurrentProfile.Name,
};
var ctx = await _sessionManager.GetOrCreateContextAsync(profile, CancellationToken.None);
var dlg = new LibraryPickerDialog(ctx, _versionService, preselected)
{
Owner = Window.GetWindow(this)
};
if (dlg.ShowDialog() != true) return null;
return dlg.SelectedLibraryTitles;
};
viewModel.ConfirmAction = msg =>
{
var result = MessageBox.Show(
Window.GetWindow(this), msg,
Localization.TranslationSource.Instance["versions.tab"],
MessageBoxButton.OKCancel,
MessageBoxImage.Warning);
return result == MessageBoxResult.OK;
};
}
}