More abstraction for mail/calendar.

This commit is contained in:
Burak Kaan Köse
2024-12-24 18:30:25 +01:00
parent da2a58a88b
commit 1668dfcce6
28 changed files with 209 additions and 121 deletions

View File

@@ -159,13 +159,13 @@ namespace Wino.Mail.ViewModels
// Start profile information synchronization.
// It's only available for Outlook and Gmail synchronizers.
var profileSyncOptions = new SynchronizationOptions()
var profileSyncOptions = new MailSynchronizationOptions()
{
AccountId = createdAccount.Id,
Type = SynchronizationType.UpdateProfile
Type = MailSynchronizationType.UpdateProfile
};
var profileSynchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<SynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(profileSyncOptions, SynchronizationSource.Client));
var profileSynchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<MailSynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(profileSyncOptions, SynchronizationSource.Client));
var profileSynchronizationResult = profileSynchronizationResponse.Data;
@@ -189,13 +189,13 @@ namespace Wino.Mail.ViewModels
creationDialog.State = AccountCreationDialogState.PreparingFolders;
// Start synchronizing folders.
var folderSyncOptions = new SynchronizationOptions()
var folderSyncOptions = new MailSynchronizationOptions()
{
AccountId = createdAccount.Id,
Type = SynchronizationType.FoldersOnly
Type = MailSynchronizationType.FoldersOnly
};
var folderSynchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<SynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(folderSyncOptions, SynchronizationSource.Client));
var folderSynchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<MailSynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(folderSyncOptions, SynchronizationSource.Client));
var folderSynchronizationResult = folderSynchronizationResponse.Data;
@@ -207,13 +207,13 @@ namespace Wino.Mail.ViewModels
{
// Try to synchronize aliases for the account.
var aliasSyncOptions = new SynchronizationOptions()
var aliasSyncOptions = new MailSynchronizationOptions()
{
AccountId = createdAccount.Id,
Type = SynchronizationType.Alias
Type = MailSynchronizationType.Alias
};
var aliasSyncResponse = await WinoServerConnectionManager.GetResponseAsync<SynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(aliasSyncOptions, SynchronizationSource.Client));
var aliasSyncResponse = await WinoServerConnectionManager.GetResponseAsync<MailSynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(aliasSyncOptions, SynchronizationSource.Client));
var aliasSynchronizationResult = folderSynchronizationResponse.Data;
if (aliasSynchronizationResult.CompletedState != SynchronizationCompletedState.Success)

View File

@@ -76,13 +76,13 @@ namespace Wino.Mail.ViewModels
{
if (!CanSynchronizeAliases) return;
var aliasSyncOptions = new SynchronizationOptions()
var aliasSyncOptions = new MailSynchronizationOptions()
{
AccountId = Account.Id,
Type = SynchronizationType.Alias
Type = MailSynchronizationType.Alias
};
var aliasSyncResponse = await _winoServerConnectionManager.GetResponseAsync<SynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(aliasSyncOptions, SynchronizationSource.Client));
var aliasSyncResponse = await _winoServerConnectionManager.GetResponseAsync<MailSynchronizationResult, NewSynchronizationRequested>(new NewSynchronizationRequested(aliasSyncOptions, SynchronizationSource.Client));
if (aliasSyncResponse.IsSuccess)
await LoadAliasesAsync();

View File

@@ -312,10 +312,10 @@ namespace Wino.Mail.ViewModels
foreach (var account in accounts)
{
var options = new SynchronizationOptions()
var options = new MailSynchronizationOptions()
{
AccountId = account.Id,
Type = SynchronizationType.FullFolders
Type = MailSynchronizationType.FullFolders
};
Messenger.Send(new NewSynchronizationRequested(options, SynchronizationSource.Client));
@@ -885,10 +885,10 @@ namespace Wino.Mail.ViewModels
await ChangeLoadedAccountAsync(createdMenuItem);
// Each created account should start a new synchronization automatically.
var options = new SynchronizationOptions()
var options = new MailSynchronizationOptions()
{
AccountId = createdAccount.Id,
Type = SynchronizationType.FullFolders,
Type = MailSynchronizationType.FullFolders,
};
Messenger.Send(new NewSynchronizationRequested(options, SynchronizationSource.Client));

View File

@@ -471,10 +471,10 @@ namespace Wino.Mail.ViewModels
foreach (var folder in ActiveFolder.HandlingFolders)
{
var options = new SynchronizationOptions()
var options = new MailSynchronizationOptions()
{
AccountId = folder.MailAccountId,
Type = SynchronizationType.CustomFolders,
Type = MailSynchronizationType.CustomFolders,
SynchronizationFolderIds = [folder.Id],
GroupedSynchronizationTrackingId = trackingSynchronizationId
};
@@ -516,7 +516,7 @@ namespace Wino.Mail.ViewModels
{
if (string.IsNullOrEmpty(SearchQuery) && IsInSearchMode)
{
UpdateFolderPivotsAsync();
await UpdateFolderPivotsAsync();
IsInSearchMode = false;
await InitializeFolderAsync();
}
@@ -892,7 +892,7 @@ namespace Wino.Mail.ViewModels
OnPropertyChanged(nameof(IsArchiveSpecialFolder));
// Prepare Focused - Other or folder name tabs.
UpdateFolderPivotsAsync();
await UpdateFolderPivotsAsync();
// Reset filters and sorting options.
ResetFilters();