Compare commits
31 Commits
v1.9.50
...
feature/Im
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f09345769 | ||
|
|
5073ead8fe | ||
|
|
f61bcb621b | ||
|
|
42b695854b | ||
|
|
496ae8b1b2 | ||
|
|
4215a2592f | ||
|
|
bca62033a1 | ||
|
|
18a91f9223 | ||
|
|
474d7c7a26 | ||
|
|
3f9a51ff46 | ||
|
|
df3b5c41f9 | ||
|
|
8800d11ab0 | ||
|
|
f021834ceb | ||
|
|
f54a39a549 | ||
|
|
c312ff3faf | ||
|
|
db833594f4 | ||
|
|
d36cf59829 | ||
|
|
caae751698 | ||
|
|
f7836eedce | ||
|
|
3ddc1a6229 | ||
|
|
cf9869b71e | ||
|
|
d31d8f574e | ||
|
|
c1336428dc | ||
|
|
f0e513bf0d | ||
|
|
ee9e41c5a7 | ||
|
|
30f1257983 | ||
|
|
f007cef208 | ||
|
|
19b5852098 | ||
|
|
2ec05ea7cc | ||
|
|
e8dd8bff44 | ||
|
|
ab3f65edfa |
@@ -149,7 +149,7 @@ csharp_preferred_modifier_order = public,private,protected,internal,static,exter
|
|||||||
# Code-block preferences
|
# Code-block preferences
|
||||||
csharp_prefer_braces = true:silent
|
csharp_prefer_braces = true:silent
|
||||||
csharp_prefer_simple_using_statement = true:suggestion
|
csharp_prefer_simple_using_statement = true:suggestion
|
||||||
csharp_style_namespace_declarations = block_scoped:silent
|
csharp_style_namespace_declarations = file_scoped:error
|
||||||
|
|
||||||
# Expression-level preferences
|
# Expression-level preferences
|
||||||
csharp_prefer_simple_default_expression = true:suggestion
|
csharp_prefer_simple_default_expression = true:suggestion
|
||||||
@@ -288,3 +288,5 @@ csharp_style_prefer_utf8_string_literals = true:suggestion
|
|||||||
csharp_style_prefer_readonly_struct = true:suggestion
|
csharp_style_prefer_readonly_struct = true:suggestion
|
||||||
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent
|
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent
|
||||||
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent
|
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent
|
||||||
|
csharp_style_prefer_primary_constructors = true:silent
|
||||||
|
csharp_prefer_system_threading_lock = true:suggestion
|
||||||
7
Directory.Build.Props
Normal file
7
Directory.Build.Props
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<LangVersion>preview</LangVersion>
|
||||||
|
<IsAotCompatible>true</IsAotCompatible>
|
||||||
|
<Configurations>Debug;Release</Configurations>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
65
Directory.Packages.props
Normal file
65
Directory.Packages.props
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageVersion Include="ColorHashSharp" Version="1.0.0" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Common" Version="8.4.0" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Diagnostics" Version="8.4.0" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Labs.Uwp.Controls.MarkdownTextBlock" Version="0.1.250206-build.2040" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Labs.Uwp.DependencyPropertyGenerator" Version="0.1.250206-build.2040" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Animations" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Behaviors" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Controls.Segmented" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Controls.SettingsControls" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Controls.Sizers" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Controls.TabbedCommandBar" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Controls.TokenizingTextBox" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.Uwp.Extensions" Version="8.2.250129-preview2" />
|
||||||
|
<PackageVersion Include="EmailValidation" Version="1.2.0" />
|
||||||
|
<PackageVersion Include="HtmlAgilityPack" Version="1.11.72" />
|
||||||
|
<PackageVersion Include="Ical.Net" Version="4.3.1" />
|
||||||
|
<PackageVersion Include="IsExternalInit" Version="1.0.3" />
|
||||||
|
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" />
|
||||||
|
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
|
||||||
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.2" />
|
||||||
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.2" />
|
||||||
|
<PackageVersion Include="Microsoft.Graph" Version="5.69.0" />
|
||||||
|
<PackageVersion Include="Microsoft.Identity.Client" Version="4.68.0" />
|
||||||
|
<PackageVersion Include="Microsoft.Identity.Client.Broker" Version="4.68.0" />
|
||||||
|
<PackageVersion Include="Microsoft.Identity.Client.Extensions.Msal" Version="4.68.0" />
|
||||||
|
<PackageVersion Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.2.14" />
|
||||||
|
<PackageVersion Include="Microsoft.UI.Xaml" Version="2.8.7" />
|
||||||
|
<PackageVersion Include="Microsoft.Xaml.Behaviors.Uwp.Managed" Version="3.0.0" />
|
||||||
|
<PackageVersion Include="MimeKit" Version="4.10.0" />
|
||||||
|
<PackageVersion Include="morelinq" Version="4.4.0" />
|
||||||
|
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2" />
|
||||||
|
<PackageVersion Include="Nito.AsyncEx.Tasks" Version="5.1.2" />
|
||||||
|
<PackageVersion Include="NodaTime" Version="3.2.1" />
|
||||||
|
<PackageVersion Include="Serilog" Version="4.2.0" />
|
||||||
|
<PackageVersion Include="Serilog.Exceptions" Version="8.4.0" />
|
||||||
|
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />
|
||||||
|
<PackageVersion Include="Serilog.Sinks.File" Version="6.0.0" />
|
||||||
|
<PackageVersion Include="Serilog.Sinks.ApplicationInsights" Version="4.0.0" />
|
||||||
|
<PackageVersion Include="SkiaSharp" Version="3.116.1" />
|
||||||
|
<PackageVersion Include="sqlite-net-pcl" Version="1.9.172" />
|
||||||
|
<PackageVersion Include="SqlKata" Version="4.0.1" />
|
||||||
|
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
|
||||||
|
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.2" />
|
||||||
|
<PackageVersion Include="System.Text.Json" Version="9.0.2" />
|
||||||
|
<PackageVersion Include="Win2D.uwp" Version="1.28.2" />
|
||||||
|
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.2.0" />
|
||||||
|
<PackageVersion Include="CommunityToolkit.WinUI.Notifications" Version="7.1.2" />
|
||||||
|
<PackageVersion Include="Google.Apis.Auth" Version="1.69.0" />
|
||||||
|
<PackageVersion Include="Google.Apis.Calendar.v3" Version="1.69.0.3667" />
|
||||||
|
<PackageVersion Include="Google.Apis.Gmail.v1" Version="1.68.0.3427" />
|
||||||
|
<PackageVersion Include="Google.Apis.PeopleService.v1" Version="1.68.0.3359" />
|
||||||
|
<PackageVersion Include="HtmlKit" Version="1.2.0" />
|
||||||
|
<PackageVersion Include="MailKit" Version="4.10.0" />
|
||||||
|
<PackageVersion Include="TimePeriodLibrary.NET" Version="2.1.5" />
|
||||||
|
<PackageVersion Include="System.Reactive" Version="6.0.1" />
|
||||||
|
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.2" />
|
||||||
|
<PackageVersion Include="System.Text.Encodings.Web" Version="9.0.2" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
|
|
||||||
namespace Wino.Authentication
|
namespace Wino.Authentication;
|
||||||
|
|
||||||
|
public abstract class BaseAuthenticator
|
||||||
{
|
{
|
||||||
public abstract class BaseAuthenticator
|
|
||||||
{
|
|
||||||
public abstract MailProviderType ProviderType { get; }
|
public abstract MailProviderType ProviderType { get; }
|
||||||
protected IAuthenticatorConfig AuthenticatorConfig { get; }
|
protected IAuthenticatorConfig AuthenticatorConfig { get; }
|
||||||
|
|
||||||
@@ -13,5 +13,4 @@ namespace Wino.Authentication
|
|||||||
|
|
||||||
AuthenticatorConfig = authenticatorConfig;
|
AuthenticatorConfig = authenticatorConfig;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ using Wino.Core.Domain.Enums;
|
|||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
using Wino.Core.Domain.Models.Authentication;
|
using Wino.Core.Domain.Models.Authentication;
|
||||||
|
|
||||||
namespace Wino.Authentication
|
namespace Wino.Authentication;
|
||||||
|
|
||||||
|
public class GmailAuthenticator : BaseAuthenticator, IGmailAuthenticator
|
||||||
{
|
{
|
||||||
public class GmailAuthenticator : BaseAuthenticator, IGmailAuthenticator
|
|
||||||
{
|
|
||||||
public GmailAuthenticator(IAuthenticatorConfig authConfig) : base(authConfig)
|
public GmailAuthenticator(IAuthenticatorConfig authConfig) : base(authConfig)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -47,5 +47,4 @@ namespace Wino.Authentication
|
|||||||
ClientId = ClientId
|
ClientId = ClientId
|
||||||
}, AuthenticatorConfig.GmailScope, account.Id.ToString(), CancellationToken.None, new FileDataStore(AuthenticatorConfig.GmailTokenStoreIdentifier));
|
}, AuthenticatorConfig.GmailScope, account.Id.ToString(), CancellationToken.None, new FileDataStore(AuthenticatorConfig.GmailTokenStoreIdentifier));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
using Wino.Core.Domain.Enums;
|
|
||||||
using Wino.Core.Domain.Interfaces;
|
|
||||||
|
|
||||||
namespace Wino.Authentication
|
|
||||||
{
|
|
||||||
public class Office365Authenticator : OutlookAuthenticator
|
|
||||||
{
|
|
||||||
public Office365Authenticator(INativeAppService nativeAppService,
|
|
||||||
IApplicationConfiguration applicationConfiguration,
|
|
||||||
IAuthenticatorConfig authenticatorConfig) : base(nativeAppService, applicationConfiguration, authenticatorConfig)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public override MailProviderType ProviderType => MailProviderType.Office365;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -11,10 +11,10 @@ using Wino.Core.Domain.Exceptions;
|
|||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
using Wino.Core.Domain.Models.Authentication;
|
using Wino.Core.Domain.Models.Authentication;
|
||||||
|
|
||||||
namespace Wino.Authentication
|
namespace Wino.Authentication;
|
||||||
|
|
||||||
|
public class OutlookAuthenticator : BaseAuthenticator, IOutlookAuthenticator
|
||||||
{
|
{
|
||||||
public class OutlookAuthenticator : BaseAuthenticator, IOutlookAuthenticator
|
|
||||||
{
|
|
||||||
private const string TokenCacheFileName = "OutlookCache.bin";
|
private const string TokenCacheFileName = "OutlookCache.bin";
|
||||||
private bool isTokenCacheAttached = false;
|
private bool isTokenCacheAttached = false;
|
||||||
|
|
||||||
@@ -122,5 +122,4 @@ namespace Wino.Authentication
|
|||||||
|
|
||||||
throw new AuthenticationException(Translator.Exception_UnknowErrorDuringAuthentication, new Exception(Translator.Exception_TokenGenerationFailed));
|
throw new AuthenticationException(Translator.Exception_UnknowErrorDuringAuthentication, new Exception(Translator.Exception_TokenGenerationFailed));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,20 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
|
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
||||||
<RootNamespace>Wino.Authentication</RootNamespace>
|
<RootNamespace>Wino.Authentication</RootNamespace>
|
||||||
<Configurations>Debug;Release</Configurations>
|
<Platforms>x86;x64;arm64</Platforms>
|
||||||
<LangVersion>12</LangVersion>
|
|
||||||
<Platforms>AnyCPU;x64;x86</Platforms>
|
|
||||||
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
|
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
|
||||||
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="CommunityToolkit.Diagnostics" Version="8.3.2" />
|
<PackageReference Include="CommunityToolkit.Diagnostics" />
|
||||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
|
<PackageReference Include="CommunityToolkit.Mvvm" />
|
||||||
<PackageReference Include="Google.Apis.Auth" Version="1.68.0" />
|
<PackageReference Include="Google.Apis.Auth" />
|
||||||
<PackageReference Include="Microsoft.Identity.Client" Version="4.66.2" />
|
<PackageReference Include="Microsoft.Identity.Client" />
|
||||||
<PackageReference Include="Microsoft.Identity.Client.Broker" Version="4.66.2" />
|
<PackageReference Include="Microsoft.Identity.Client.Broker" />
|
||||||
<PackageReference Include="Microsoft.Identity.Client.Extensions.Msal" Version="4.66.2" />
|
<PackageReference Include="Microsoft.Identity.Client.Extensions.Msal" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Wino.Core.Domain\Wino.Core.Domain.csproj" />
|
<ProjectReference Include="..\Wino.Core.Domain\Wino.Core.Domain.csproj" />
|
||||||
<ProjectReference Include="..\Wino.Messages\Wino.Messaging.csproj" />
|
<ProjectReference Include="..\Wino.Messages\Wino.Messaging.csproj" />
|
||||||
|
|||||||
@@ -20,14 +20,6 @@
|
|||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|ARM">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>ARM</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|ARM">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>ARM</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|ARM64">
|
<ProjectConfiguration Include="Debug|ARM64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>ARM64</Platform>
|
<Platform>ARM64</Platform>
|
||||||
@@ -76,7 +68,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Identity.Client" Version="4.66.2" />
|
|
||||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" PrivateAssets="all" />
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" PrivateAssets="all" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ namespace Wino.Calendar.ViewModels
|
|||||||
if (accountCreationDialogResult == null) return;
|
if (accountCreationDialogResult == null) return;
|
||||||
|
|
||||||
var accountCreationCancellationTokenSource = new CancellationTokenSource();
|
var accountCreationCancellationTokenSource = new CancellationTokenSource();
|
||||||
var accountCreationDialog = CalendarDialogService.GetAccountCreationDialog(accountCreationDialogResult.ProviderType);
|
var accountCreationDialog = CalendarDialogService.GetAccountCreationDialog(accountCreationDialogResult);
|
||||||
|
|
||||||
accountCreationDialog.ShowDialog(accountCreationCancellationTokenSource);
|
accountCreationDialog.ShowDialog(accountCreationCancellationTokenSource);
|
||||||
accountCreationDialog.State = AccountCreationDialogState.SigningIn;
|
accountCreationDialog.State = AccountCreationDialogState.SigningIn;
|
||||||
@@ -92,7 +92,6 @@ namespace Wino.Calendar.ViewModels
|
|||||||
{
|
{
|
||||||
ProviderType = accountCreationDialogResult.ProviderType,
|
ProviderType = accountCreationDialogResult.ProviderType,
|
||||||
Name = accountCreationDialogResult.AccountName,
|
Name = accountCreationDialogResult.AccountName,
|
||||||
AccountColorHex = accountCreationDialogResult.AccountColorHex,
|
|
||||||
Id = Guid.NewGuid()
|
Id = Guid.NewGuid()
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -104,13 +103,8 @@ namespace Wino.Calendar.ViewModels
|
|||||||
if (accountCreationDialog.State == AccountCreationDialogState.Canceled)
|
if (accountCreationDialog.State == AccountCreationDialogState.Canceled)
|
||||||
throw new AccountSetupCanceledException();
|
throw new AccountSetupCanceledException();
|
||||||
|
|
||||||
|
|
||||||
tokenInformationResponse.ThrowIfFailed();
|
tokenInformationResponse.ThrowIfFailed();
|
||||||
|
|
||||||
//var tokenInformation = tokenInformationResponse.Data;
|
|
||||||
//createdAccount.Address = tokenInformation.Address;
|
|
||||||
//tokenInformation.AccountId = createdAccount.Id;
|
|
||||||
|
|
||||||
await AccountService.CreateAccountAsync(createdAccount, null);
|
await AccountService.CreateAccountAsync(createdAccount, null);
|
||||||
|
|
||||||
// Sync profile information if supported.
|
// Sync profile information if supported.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Identity.Client" Version="4.66.2" />
|
|
||||||
<PackageReference Include="TimePeriodLibrary.NET" Version="2.1.5" />
|
<PackageReference Include="TimePeriodLibrary.NET" Version="2.1.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
|
|
||||||
namespace Wino.Calendar.Services
|
namespace Wino.Calendar.Services;
|
||||||
|
|
||||||
|
public class CalendarAuthenticatorConfig : IAuthenticatorConfig
|
||||||
{
|
{
|
||||||
public class CalendarAuthenticatorConfig : IAuthenticatorConfig
|
|
||||||
{
|
|
||||||
public string OutlookAuthenticatorClientId => "b19c2035-d740-49ff-b297-de6ec561b208";
|
public string OutlookAuthenticatorClientId => "b19c2035-d740-49ff-b297-de6ec561b208";
|
||||||
|
|
||||||
public string[] OutlookScope => new string[]
|
public string[] OutlookScope => new string[]
|
||||||
@@ -29,5 +29,4 @@ namespace Wino.Calendar.Services
|
|||||||
};
|
};
|
||||||
|
|
||||||
public string GmailTokenStoreIdentifier => "WinoCalendarGmailTokenStore";
|
public string GmailTokenStoreIdentifier => "WinoCalendarGmailTokenStore";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace Wino.Calendar.Services
|
|||||||
|
|
||||||
foreach (var type in providers)
|
foreach (var type in providers)
|
||||||
{
|
{
|
||||||
providerList.Add(new ProviderDetail(type));
|
providerList.Add(new ProviderDetail(type, SpecialImapProvider.None));
|
||||||
}
|
}
|
||||||
|
|
||||||
return providerList;
|
return providerList;
|
||||||
|
|||||||
@@ -60,29 +60,6 @@
|
|||||||
<Prefer32Bit>true</Prefer32Bit>
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<OutputPath>bin\ARM\Debug\</OutputPath>
|
|
||||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
|
||||||
<NoWarn>;2008</NoWarn>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<PlatformTarget>ARM</PlatformTarget>
|
|
||||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
|
|
||||||
<OutputPath>bin\ARM\Release\</OutputPath>
|
|
||||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<NoWarn>;2008</NoWarn>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<PlatformTarget>ARM</PlatformTarget>
|
|
||||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
|
||||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<OutputPath>bin\ARM64\Debug\</OutputPath>
|
<OutputPath>bin\ARM64\Debug\</OutputPath>
|
||||||
@@ -334,7 +311,7 @@
|
|||||||
<Version>6.2.14</Version>
|
<Version>6.2.14</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Win2D.uwp">
|
<PackageReference Include="Win2D.uwp">
|
||||||
<Version>1.28.0</Version>
|
<Version>1.28.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
11
Wino.Core.Domain/BasicTypesJsonContext.cs
Normal file
11
Wino.Core.Domain/BasicTypesJsonContext.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace Wino.Core.Domain;
|
||||||
|
|
||||||
|
[JsonSerializable(typeof(Dictionary<string, string>))]
|
||||||
|
[JsonSerializable(typeof(string))]
|
||||||
|
[JsonSerializable(typeof(int))]
|
||||||
|
[JsonSerializable(typeof(List<string>))]
|
||||||
|
[JsonSerializable(typeof(bool))]
|
||||||
|
public partial class BasicTypesJsonContext : JsonSerializerContext;
|
||||||
@@ -7,10 +7,10 @@ using Wino.Core.Domain.Entities.Calendar;
|
|||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
using Wino.Core.Domain.Models.Calendar;
|
using Wino.Core.Domain.Models.Calendar;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Collections
|
namespace Wino.Core.Domain.Collections;
|
||||||
|
|
||||||
|
public class CalendarEventCollection
|
||||||
{
|
{
|
||||||
public class CalendarEventCollection
|
|
||||||
{
|
|
||||||
public event EventHandler<ICalendarItem> CalendarItemAdded;
|
public event EventHandler<ICalendarItem> CalendarItemAdded;
|
||||||
public event EventHandler<ICalendarItem> CalendarItemRemoved;
|
public event EventHandler<ICalendarItem> CalendarItemRemoved;
|
||||||
|
|
||||||
@@ -152,5 +152,4 @@ namespace Wino.Core.Domain.Collections
|
|||||||
|
|
||||||
CalendarItemsCleared?.Invoke(this, EventArgs.Empty);
|
CalendarItemsCleared?.Invoke(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
using Wino.Core.Domain.Models.Calendar;
|
using Wino.Core.Domain.Models.Calendar;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Collections
|
namespace Wino.Core.Domain.Collections;
|
||||||
|
|
||||||
|
public class DayRangeCollection : ObservableRangeCollection<DayRangeRenderModel>
|
||||||
{
|
{
|
||||||
public class DayRangeCollection : ObservableRangeCollection<DayRangeRenderModel>
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the range of dates that are currently displayed in the collection.
|
/// Gets the range of dates that are currently displayed in the collection.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -38,5 +38,4 @@ namespace Wino.Core.Domain.Collections
|
|||||||
calendarDayModel?.EventsCollection.AddCalendarItem(calendarItem);
|
calendarDayModel?.EventsCollection.AddCalendarItem(calendarItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ using System.Collections.ObjectModel;
|
|||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Collections
|
namespace Wino.Core.Domain.Collections;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
public class ObservableRangeCollection<T> : ObservableCollection<T>
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed.
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="T"></typeparam>
|
|
||||||
public class ObservableRangeCollection<T> : ObservableCollection<T>
|
|
||||||
{
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the System.Collections.ObjectModel.ObservableCollection(Of T) class.
|
/// Initializes a new instance of the System.Collections.ObjectModel.ObservableCollection(Of T) class.
|
||||||
@@ -170,5 +170,4 @@ namespace Wino.Core.Domain.Collections
|
|||||||
else
|
else
|
||||||
OnCollectionChanged(new NotifyCollectionChangedEventArgs(action, changedItems: changedItems, startingIndex: startingIndex));
|
OnCollectionChanged(new NotifyCollectionChangedEventArgs(action, changedItems: changedItems, startingIndex: startingIndex));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain
|
namespace Wino.Core.Domain;
|
||||||
|
|
||||||
|
public static class Constants
|
||||||
{
|
{
|
||||||
public static class Constants
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MIME header that exists in all the drafts created from Wino.
|
/// MIME header that exists in all the drafts created from Wino.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -19,5 +19,4 @@
|
|||||||
|
|
||||||
public const string WinoMailIdentiifer = nameof(WinoMailIdentiifer);
|
public const string WinoMailIdentiifer = nameof(WinoMailIdentiifer);
|
||||||
public const string WinoCalendarIdentifier = nameof(WinoCalendarIdentifier);
|
public const string WinoCalendarIdentifier = nameof(WinoCalendarIdentifier);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
using SQLite;
|
using SQLite;
|
||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Calendar
|
namespace Wino.Core.Domain.Entities.Calendar;
|
||||||
|
|
||||||
|
public class AccountCalendar : IAccountCalendar
|
||||||
{
|
{
|
||||||
public class AccountCalendar : IAccountCalendar
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public Guid AccountId { get; set; }
|
public Guid AccountId { get; set; }
|
||||||
@@ -21,5 +21,4 @@ namespace Wino.Core.Domain.Entities.Calendar
|
|||||||
public string TextColorHex { get; set; }
|
public string TextColorHex { get; set; }
|
||||||
public string BackgroundColorHex { get; set; }
|
public string BackgroundColorHex { get; set; }
|
||||||
public string TimeZone { get; set; }
|
public string TimeZone { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
using SQLite;
|
using SQLite;
|
||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Calendar
|
namespace Wino.Core.Domain.Entities.Calendar;
|
||||||
|
|
||||||
|
// TODO: Connect to Contact store with Wino People.
|
||||||
|
public class CalendarEventAttendee
|
||||||
{
|
{
|
||||||
// TODO: Connect to Contact store with Wino People.
|
|
||||||
public class CalendarEventAttendee
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public Guid CalendarItemId { get; set; }
|
public Guid CalendarItemId { get; set; }
|
||||||
@@ -16,5 +16,4 @@ namespace Wino.Core.Domain.Entities.Calendar
|
|||||||
public bool IsOrganizer { get; set; }
|
public bool IsOrganizer { get; set; }
|
||||||
public bool IsOptionalAttendee { get; set; }
|
public bool IsOptionalAttendee { get; set; }
|
||||||
public string Comment { get; set; }
|
public string Comment { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ using SQLite;
|
|||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Calendar
|
namespace Wino.Core.Domain.Entities.Calendar;
|
||||||
|
|
||||||
|
[DebuggerDisplay("{Title} ({StartDate} - {EndDate})")]
|
||||||
|
public class CalendarItem : ICalendarItem
|
||||||
{
|
{
|
||||||
[DebuggerDisplay("{Title} ({StartDate} - {EndDate})")]
|
|
||||||
public class CalendarItem : ICalendarItem
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public string RemoteEventId { get; set; }
|
public string RemoteEventId { get; set; }
|
||||||
@@ -176,5 +176,4 @@ namespace Wino.Core.Domain.Entities.Calendar
|
|||||||
IsOccurrence = true
|
IsOccurrence = true
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,14 @@
|
|||||||
using SQLite;
|
using SQLite;
|
||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Calendar
|
namespace Wino.Core.Domain.Entities.Calendar;
|
||||||
|
|
||||||
|
public class Reminder
|
||||||
{
|
{
|
||||||
public class Reminder
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public Guid CalendarItemId { get; set; }
|
public Guid CalendarItemId { get; set; }
|
||||||
|
|
||||||
public DateTimeOffset ReminderTime { get; set; }
|
public DateTimeOffset ReminderTime { get; set; }
|
||||||
public CalendarItemReminderType ReminderType { get; set; }
|
public CalendarItemReminderType ReminderType { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using SQLite;
|
using SQLite;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Mail
|
namespace Wino.Core.Domain.Entities.Mail;
|
||||||
|
|
||||||
|
public class AccountSignature
|
||||||
{
|
{
|
||||||
public class AccountSignature
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
@@ -13,5 +13,4 @@ namespace Wino.Core.Domain.Entities.Mail
|
|||||||
public string HtmlBody { get; set; }
|
public string HtmlBody { get; set; }
|
||||||
|
|
||||||
public Guid MailAccountId { get; set; }
|
public Guid MailAccountId { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using SQLite;
|
using SQLite;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Mail
|
namespace Wino.Core.Domain.Entities.Mail;
|
||||||
|
|
||||||
|
public class RemoteAccountAlias
|
||||||
{
|
{
|
||||||
public class RemoteAccountAlias
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Display address of the alias.
|
/// Display address of the alias.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -40,10 +40,10 @@ namespace Wino.Core.Domain.Entities.Mail
|
|||||||
/// Used for Gmail only.
|
/// Used for Gmail only.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string AliasSenderName { get; set; }
|
public string AliasSenderName { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MailAccountAlias : RemoteAccountAlias
|
public class MailAccountAlias : RemoteAccountAlias
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unique Id for the alias.
|
/// Unique Id for the alias.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -59,5 +59,4 @@ namespace Wino.Core.Domain.Entities.Mail
|
|||||||
/// Root aliases can't be deleted.
|
/// Root aliases can't be deleted.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool CanDelete => !IsRootAlias;
|
public bool CanDelete => !IsRootAlias;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ using Wino.Core.Domain.Entities.Shared;
|
|||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
using Wino.Core.Domain.Models.MailItem;
|
using Wino.Core.Domain.Models.MailItem;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Mail
|
namespace Wino.Core.Domain.Entities.Mail;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Summary of the parsed MIME messages.
|
||||||
|
/// Wino will do non-network operations on this table and others from the original MIME.
|
||||||
|
/// </summary>
|
||||||
|
public class MailCopy : IMailItem
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Summary of the parsed MIME messages.
|
|
||||||
/// Wino will do non-network operations on this table and others from the original MIME.
|
|
||||||
/// </summary>
|
|
||||||
public class MailCopy : IMailItem
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unique Id of the mail.
|
/// Unique Id of the mail.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -153,5 +153,4 @@ namespace Wino.Core.Domain.Entities.Mail
|
|||||||
|
|
||||||
public IEnumerable<Guid> GetContainingIds() => [UniqueId];
|
public IEnumerable<Guid> GetContainingIds() => [UniqueId];
|
||||||
public override string ToString() => $"{Subject} <-> {Id}";
|
public override string ToString() => $"{Subject} <-> {Id}";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ using SQLite;
|
|||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
using Wino.Core.Domain.Models.Folders;
|
using Wino.Core.Domain.Models.Folders;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Mail
|
namespace Wino.Core.Domain.Entities.Mail;
|
||||||
|
|
||||||
|
[DebuggerDisplay("{FolderName} - {SpecialFolderType}")]
|
||||||
|
public class MailItemFolder : IMailItemFolder
|
||||||
{
|
{
|
||||||
[DebuggerDisplay("{FolderName} - {SpecialFolderType}")]
|
|
||||||
public class MailItemFolder : IMailItemFolder
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
@@ -71,5 +71,4 @@ namespace Wino.Core.Domain.Entities.Mail
|
|||||||
public static MailItemFolder CreateCategoriesFolder() => new MailItemFolder() { IsSticky = true, SpecialFolderType = SpecialFolderType.Category, FolderName = Translator.CategoriesFolderNameOverride };
|
public static MailItemFolder CreateCategoriesFolder() => new MailItemFolder() { IsSticky = true, SpecialFolderType = SpecialFolderType.Category, FolderName = Translator.CategoriesFolderNameOverride };
|
||||||
|
|
||||||
public override string ToString() => FolderName;
|
public override string ToString() => FolderName;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
using System;
|
using System;
|
||||||
using SQLite;
|
using SQLite;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Mail
|
namespace Wino.Core.Domain.Entities.Mail;
|
||||||
|
|
||||||
|
public class MergedInbox
|
||||||
{
|
{
|
||||||
public class MergedInbox
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,17 +2,17 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using SQLite;
|
using SQLite;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Shared
|
namespace Wino.Core.Domain.Entities.Shared;
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Back storage for simple name-address book.
|
|
||||||
/// These values will be inserted during MIME fetch.
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
// TODO: This can easily evolve to Contact store, just like People app in Windows 10/11.
|
/// <summary>
|
||||||
// Do it.
|
/// Back storage for simple name-address book.
|
||||||
public class AccountContact : IEquatable<AccountContact>
|
/// These values will be inserted during MIME fetch.
|
||||||
{
|
/// </summary>
|
||||||
|
|
||||||
|
// TODO: This can easily evolve to Contact store, just like People app in Windows 10/11.
|
||||||
|
// Do it.
|
||||||
|
public class AccountContact : IEquatable<AccountContact>
|
||||||
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// E-mail address of the contact.
|
/// E-mail address of the contact.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -36,14 +36,6 @@ namespace Wino.Core.Domain.Entities.Shared
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsRootContact { get; set; }
|
public bool IsRootContact { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Short display name of the contact.
|
|
||||||
/// Eather Name or Address.
|
|
||||||
/// </summary>
|
|
||||||
public string ShortDisplayName => Address == Name || string.IsNullOrWhiteSpace(Name) ? $"{Address.ToLowerInvariant()};" : $"{Name};";
|
|
||||||
|
|
||||||
public string DisplayName => Address == Name || string.IsNullOrWhiteSpace(Name) ? Address.ToLowerInvariant() : $"{Name} <{Address.ToLowerInvariant()}>";
|
|
||||||
|
|
||||||
public override bool Equals(object obj)
|
public override bool Equals(object obj)
|
||||||
{
|
{
|
||||||
return Equals(obj as AccountContact);
|
return Equals(obj as AccountContact);
|
||||||
@@ -58,10 +50,7 @@ namespace Wino.Core.Domain.Entities.Shared
|
|||||||
|
|
||||||
public override int GetHashCode()
|
public override int GetHashCode()
|
||||||
{
|
{
|
||||||
int hashCode = -1717786383;
|
return HashCode.Combine(Address, Name);
|
||||||
hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(Address);
|
|
||||||
hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(Name);
|
|
||||||
return hashCode;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool operator ==(AccountContact left, AccountContact right)
|
public static bool operator ==(AccountContact left, AccountContact right)
|
||||||
@@ -73,5 +62,4 @@ namespace Wino.Core.Domain.Entities.Shared
|
|||||||
{
|
{
|
||||||
return !(left == right);
|
return !(left == right);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using SQLite;
|
using SQLite;
|
||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Shared
|
namespace Wino.Core.Domain.Entities.Shared;
|
||||||
|
|
||||||
|
public class CustomServerInformation
|
||||||
{
|
{
|
||||||
public class CustomServerInformation
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
@@ -49,5 +50,25 @@ namespace Wino.Core.Domain.Entities.Shared
|
|||||||
/// Default is 5.
|
/// Default is 5.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int MaxConcurrentClients { get; set; }
|
public int MaxConcurrentClients { get; set; }
|
||||||
|
|
||||||
|
public Dictionary<string, string> GetConnectionProperties()
|
||||||
|
{
|
||||||
|
// Printout the public connection properties.
|
||||||
|
|
||||||
|
var connectionProperties = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
{ "IncomingServer", IncomingServer },
|
||||||
|
{ "IncomingServerPort", IncomingServerPort },
|
||||||
|
{ "IncomingServerSocketOption", IncomingServerSocketOption.ToString() },
|
||||||
|
{ "IncomingAuthenticationMethod", IncomingAuthenticationMethod.ToString() },
|
||||||
|
{ "OutgoingServer", OutgoingServer },
|
||||||
|
{ "OutgoingServerPort", OutgoingServerPort },
|
||||||
|
{ "OutgoingServerSocketOption", OutgoingServerSocketOption.ToString() },
|
||||||
|
{ "OutgoingAuthenticationMethod", OutgoingAuthenticationMethod.ToString() },
|
||||||
|
{ "ProxyServer", ProxyServer },
|
||||||
|
{ "ProxyServerPort", ProxyServerPort }
|
||||||
|
};
|
||||||
|
|
||||||
|
return connectionProperties;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ using SQLite;
|
|||||||
using Wino.Core.Domain.Entities.Mail;
|
using Wino.Core.Domain.Entities.Mail;
|
||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Shared
|
namespace Wino.Core.Domain.Entities.Shared;
|
||||||
|
|
||||||
|
public class MailAccount
|
||||||
{
|
{
|
||||||
public class MailAccount
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
@@ -72,6 +72,12 @@ namespace Wino.Core.Domain.Entities.Shared
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? MergedInboxId { get; set; }
|
public Guid? MergedInboxId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the additional IMAP provider assignment for the account.
|
||||||
|
/// Providers that use IMAP as a synchronizer but have special requirements.
|
||||||
|
/// </summary>
|
||||||
|
public SpecialImapProvider SpecialImapProvider { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains the merged inbox this account belongs to.
|
/// Contains the merged inbox this account belongs to.
|
||||||
/// Ignored for all SQLite operations.
|
/// Ignored for all SQLite operations.
|
||||||
@@ -95,11 +101,10 @@ namespace Wino.Core.Domain.Entities.Shared
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets whether the account can perform ProfileInformation sync type.
|
/// Gets whether the account can perform ProfileInformation sync type.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsProfileInfoSyncSupported => ProviderType == MailProviderType.Outlook || ProviderType == MailProviderType.Office365 || ProviderType == MailProviderType.Gmail;
|
public bool IsProfileInfoSyncSupported => ProviderType == MailProviderType.Outlook || ProviderType == MailProviderType.Gmail;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets whether the account can perform AliasInformation sync type.
|
/// Gets whether the account can perform AliasInformation sync type.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsAliasSyncSupported => ProviderType == MailProviderType.Gmail;
|
public bool IsAliasSyncSupported => ProviderType == MailProviderType.Gmail;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using SQLite;
|
using SQLite;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Entities.Shared
|
namespace Wino.Core.Domain.Entities.Shared;
|
||||||
|
|
||||||
|
public class MailAccountPreferences
|
||||||
{
|
{
|
||||||
public class MailAccountPreferences
|
|
||||||
{
|
|
||||||
[PrimaryKey]
|
[PrimaryKey]
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
@@ -50,5 +50,4 @@ namespace Wino.Core.Domain.Entities.Shared
|
|||||||
/// Gets or sets signature for following messages. Null if signature is not needed.
|
/// Gets or sets signature for following messages. Null if signature is not needed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? SignatureIdForFollowingMessages { get; set; }
|
public Guid? SignatureIdForFollowingMessages { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum AccountAttentionReason
|
||||||
{
|
{
|
||||||
public enum AccountAttentionReason
|
|
||||||
{
|
|
||||||
None,
|
None,
|
||||||
InvalidCredentials,
|
InvalidCredentials,
|
||||||
MissingSystemFolderConfiguration
|
MissingSystemFolderConfiguration
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum AccountCreationDialogState
|
||||||
{
|
{
|
||||||
public enum AccountCreationDialogState
|
|
||||||
{
|
|
||||||
Idle,
|
Idle,
|
||||||
SigningIn,
|
SigningIn,
|
||||||
PreparingFolders,
|
PreparingFolders,
|
||||||
@@ -13,5 +13,4 @@
|
|||||||
FetchingProfileInformation,
|
FetchingProfileInformation,
|
||||||
Canceled,
|
Canceled,
|
||||||
FetchingEvents
|
FetchingEvents
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates the state of synchronizer.
|
||||||
|
/// </summary>
|
||||||
|
public enum AccountSynchronizerState
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Indicates the state of synchronizer.
|
|
||||||
/// </summary>
|
|
||||||
public enum AccountSynchronizerState
|
|
||||||
{
|
|
||||||
Idle,
|
Idle,
|
||||||
ExecutingRequests,
|
ExecutingRequests,
|
||||||
Synchronizing
|
Synchronizing
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum AppLanguage
|
||||||
{
|
{
|
||||||
public enum AppLanguage
|
|
||||||
{
|
|
||||||
None,
|
None,
|
||||||
English,
|
English,
|
||||||
Deutsch,
|
Deutsch,
|
||||||
@@ -17,5 +17,4 @@
|
|||||||
PortugeseBrazil,
|
PortugeseBrazil,
|
||||||
Italian,
|
Italian,
|
||||||
Romanian
|
Romanian
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum AppThemeType
|
||||||
{
|
{
|
||||||
public enum AppThemeType
|
|
||||||
{
|
|
||||||
System,
|
System,
|
||||||
PreDefined,
|
PreDefined,
|
||||||
Custom,
|
Custom,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum ApplicationElementTheme
|
||||||
{
|
{
|
||||||
public enum ApplicationElementTheme
|
|
||||||
{
|
|
||||||
Default,
|
Default,
|
||||||
Light,
|
Light,
|
||||||
Dark
|
Dark
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum AttendeeStatus
|
||||||
{
|
{
|
||||||
public enum AttendeeStatus
|
|
||||||
{
|
|
||||||
NeedsAction,
|
NeedsAction,
|
||||||
Accepted,
|
Accepted,
|
||||||
Tentative,
|
Tentative,
|
||||||
Declined
|
Declined
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum BackgroundSynchronizationReason
|
||||||
{
|
{
|
||||||
public enum BackgroundSynchronizationReason
|
|
||||||
{
|
|
||||||
SessionConnected,
|
SessionConnected,
|
||||||
Timer
|
Timer
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarDisplayType
|
||||||
{
|
{
|
||||||
public enum CalendarDisplayType
|
|
||||||
{
|
|
||||||
Day,
|
Day,
|
||||||
Week,
|
Week,
|
||||||
WorkWeek,
|
WorkWeek,
|
||||||
Month,
|
Month,
|
||||||
Year
|
Year
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarEventTargetType
|
||||||
{
|
{
|
||||||
public enum CalendarEventTargetType
|
|
||||||
{
|
|
||||||
Single, // Show details for a single event.
|
Single, // Show details for a single event.
|
||||||
Series // Show the series event. Parent of all recurring events.
|
Series // Show the series event. Parent of all recurring events.
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Trigger to load more data.
|
||||||
|
/// </summary>
|
||||||
|
public enum CalendarInitInitiative
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Trigger to load more data.
|
|
||||||
/// </summary>
|
|
||||||
public enum CalendarInitInitiative
|
|
||||||
{
|
|
||||||
User,
|
User,
|
||||||
App
|
App
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarItemRecurrenceFrequency
|
||||||
{
|
{
|
||||||
public enum CalendarItemRecurrenceFrequency
|
|
||||||
{
|
|
||||||
Daily,
|
Daily,
|
||||||
Weekly,
|
Weekly,
|
||||||
Monthly,
|
Monthly,
|
||||||
Yearly
|
Yearly
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarItemReminderType
|
||||||
{
|
{
|
||||||
public enum CalendarItemReminderType
|
|
||||||
{
|
|
||||||
Popup,
|
Popup,
|
||||||
Email
|
Email
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarItemStatus
|
||||||
{
|
{
|
||||||
public enum CalendarItemStatus
|
|
||||||
{
|
|
||||||
NotResponded,
|
NotResponded,
|
||||||
Confirmed,
|
Confirmed,
|
||||||
Tentative,
|
Tentative,
|
||||||
Cancelled,
|
Cancelled,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarItemVisibility
|
||||||
{
|
{
|
||||||
public enum CalendarItemVisibility
|
|
||||||
{
|
|
||||||
Default,
|
Default,
|
||||||
Public,
|
Public,
|
||||||
Private,
|
Private,
|
||||||
Confidential
|
Confidential
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Which way in time to load more data for calendar.
|
||||||
|
/// </summary>
|
||||||
|
public enum CalendarLoadDirection
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Which way in time to load more data for calendar.
|
|
||||||
/// </summary>
|
|
||||||
public enum CalendarLoadDirection
|
|
||||||
{
|
|
||||||
Replace,
|
Replace,
|
||||||
Previous,
|
Previous,
|
||||||
Next
|
Next
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarOrientation
|
||||||
{
|
{
|
||||||
public enum CalendarOrientation
|
|
||||||
{
|
|
||||||
Horizontal,
|
Horizontal,
|
||||||
Vertical
|
Vertical
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CalendarSynchronizationType
|
||||||
{
|
{
|
||||||
public enum CalendarSynchronizationType
|
|
||||||
{
|
|
||||||
ExecuteRequests, // Execute all requests in the queue.
|
ExecuteRequests, // Execute all requests in the queue.
|
||||||
CalendarMetadata, // Sync calendar metadata.
|
CalendarMetadata, // Sync calendar metadata.
|
||||||
CalendarEvents, // Sync all events for all calendars.
|
CalendarEvents, // Sync all events for all calendars.
|
||||||
SingleCalendar, // Sync events for only specified calendars.
|
SingleCalendar, // Sync events for only specified calendars.
|
||||||
UpdateProfile // Update profile information only.
|
UpdateProfile // Update profile information only.
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum ChangeRequestType
|
||||||
{
|
{
|
||||||
public enum ChangeRequestType
|
|
||||||
{
|
|
||||||
MailMarkAs,
|
MailMarkAs,
|
||||||
MailChangeFlag,
|
MailChangeFlag,
|
||||||
MailHardDelete,
|
MailHardDelete,
|
||||||
@@ -20,5 +20,4 @@
|
|||||||
DiscardDraft,
|
DiscardDraft,
|
||||||
SendDraft,
|
SendDraft,
|
||||||
FetchSingleItem
|
FetchSingleItem
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum CustomIncomingServerType
|
||||||
{
|
{
|
||||||
public enum CustomIncomingServerType
|
|
||||||
{
|
|
||||||
POP3,
|
POP3,
|
||||||
IMAP4
|
IMAP4
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum DayHeaderDisplayType
|
||||||
{
|
{
|
||||||
public enum DayHeaderDisplayType
|
|
||||||
{
|
|
||||||
TwelveHour,
|
TwelveHour,
|
||||||
TwentyFourHour,
|
TwentyFourHour,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum DraftCreationReason
|
||||||
{
|
{
|
||||||
public enum DraftCreationReason
|
|
||||||
{
|
|
||||||
Empty,
|
Empty,
|
||||||
Reply,
|
Reply,
|
||||||
ReplyAll,
|
ReplyAll,
|
||||||
Forward
|
Forward
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum FilterOptionType
|
||||||
{
|
{
|
||||||
public enum FilterOptionType
|
|
||||||
{
|
|
||||||
All,
|
All,
|
||||||
Unread,
|
Unread,
|
||||||
Flagged,
|
Flagged,
|
||||||
Mentions,
|
Mentions,
|
||||||
Files
|
Files
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Defines all possible folder operations that can be done.
|
||||||
|
/// Available values for each folder is returned by IContextMenuProvider
|
||||||
|
/// that integrators hold.
|
||||||
|
/// </summary>
|
||||||
|
public enum FolderOperation
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Defines all possible folder operations that can be done.
|
|
||||||
/// Available values for each folder is returned by IContextMenuProvider
|
|
||||||
/// that integrators hold.
|
|
||||||
/// </summary>
|
|
||||||
public enum FolderOperation
|
|
||||||
{
|
|
||||||
None,
|
None,
|
||||||
Pin,
|
Pin,
|
||||||
Unpin,
|
Unpin,
|
||||||
@@ -19,5 +19,4 @@
|
|||||||
TurnOffNotifications,
|
TurnOffNotifications,
|
||||||
CreateSubFolder,
|
CreateSubFolder,
|
||||||
Seperator
|
Seperator
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum ImapAuthenticationMethod
|
||||||
{
|
{
|
||||||
public enum ImapAuthenticationMethod
|
|
||||||
{
|
|
||||||
Auto,
|
Auto,
|
||||||
None,
|
None,
|
||||||
NormalPassword,
|
NormalPassword,
|
||||||
@@ -9,5 +9,4 @@
|
|||||||
Ntlm,
|
Ntlm,
|
||||||
CramMd5,
|
CramMd5,
|
||||||
DigestMd5
|
DigestMd5
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum ImapConnectionSecurity
|
||||||
{
|
{
|
||||||
public enum ImapConnectionSecurity
|
|
||||||
{
|
|
||||||
Auto,
|
Auto,
|
||||||
None,
|
None,
|
||||||
StartTls,
|
StartTls,
|
||||||
SslTls
|
SslTls
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum InfoBarAnimationType
|
||||||
{
|
{
|
||||||
public enum InfoBarAnimationType
|
|
||||||
{
|
|
||||||
SlideFromRightToLeft,
|
SlideFromRightToLeft,
|
||||||
SlideFromBottomToTop
|
SlideFromBottomToTop
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum InfoBarMessageType
|
||||||
{
|
{
|
||||||
public enum InfoBarMessageType
|
|
||||||
{
|
|
||||||
Information,
|
Information,
|
||||||
Success,
|
Success,
|
||||||
Warning,
|
Warning,
|
||||||
Error
|
Error
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum MailAttachmentType
|
||||||
{
|
{
|
||||||
public enum MailAttachmentType
|
|
||||||
{
|
|
||||||
None,
|
None,
|
||||||
Executable,
|
Executable,
|
||||||
Image,
|
Image,
|
||||||
@@ -12,5 +12,4 @@
|
|||||||
RarArchive,
|
RarArchive,
|
||||||
Archive,
|
Archive,
|
||||||
Other
|
Other
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum MailImportance
|
||||||
{
|
{
|
||||||
public enum MailImportance
|
|
||||||
{
|
|
||||||
Low,
|
Low,
|
||||||
Normal,
|
Normal,
|
||||||
High
|
High
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
|
||||||
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum MailListDisplayMode
|
||||||
{
|
{
|
||||||
public enum MailListDisplayMode
|
|
||||||
{
|
|
||||||
Spacious,
|
Spacious,
|
||||||
Medium,
|
Medium,
|
||||||
Compact,
|
Compact,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum MailMarkAsOption
|
||||||
{
|
{
|
||||||
public enum MailMarkAsOption
|
|
||||||
{
|
|
||||||
WhenSelected,
|
WhenSelected,
|
||||||
DontMark,
|
DontMark,
|
||||||
AfterDelay
|
AfterDelay
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
// Synchronizer requests.
|
||||||
|
public enum MailSynchronizerOperation
|
||||||
{
|
{
|
||||||
// Synchronizer requests.
|
|
||||||
public enum MailSynchronizerOperation
|
|
||||||
{
|
|
||||||
MarkRead,
|
MarkRead,
|
||||||
Move,
|
Move,
|
||||||
Delete, // Hard delete.
|
Delete, // Hard delete.
|
||||||
@@ -12,18 +12,18 @@
|
|||||||
AlwaysMoveTo,
|
AlwaysMoveTo,
|
||||||
MoveToFocused,
|
MoveToFocused,
|
||||||
Archive,
|
Archive,
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum FolderSynchronizerOperation
|
public enum FolderSynchronizerOperation
|
||||||
{
|
{
|
||||||
RenameFolder,
|
RenameFolder,
|
||||||
EmptyFolder,
|
EmptyFolder,
|
||||||
MarkFolderRead,
|
MarkFolderRead,
|
||||||
}
|
}
|
||||||
|
|
||||||
// UI requests
|
// UI requests
|
||||||
public enum MailOperation
|
public enum MailOperation
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
Archive,
|
Archive,
|
||||||
UnArchive,
|
UnArchive,
|
||||||
@@ -54,5 +54,4 @@
|
|||||||
ViewMessageSource,
|
ViewMessageSource,
|
||||||
DiscardLocalDraft,
|
DiscardLocalDraft,
|
||||||
Navigate // For toast activation
|
Navigate // For toast activation
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum MailProviderType
|
||||||
{
|
{
|
||||||
public enum MailProviderType
|
|
||||||
{
|
|
||||||
Outlook,
|
Outlook,
|
||||||
Gmail,
|
Gmail,
|
||||||
Office365,
|
IMAP4 = 4 // 2-3 were removed after release. Don't change for backward compatibility.
|
||||||
Yahoo,
|
|
||||||
IMAP4
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum MailSynchronizationType
|
||||||
{
|
{
|
||||||
public enum MailSynchronizationType
|
|
||||||
{
|
|
||||||
// Shared
|
|
||||||
UpdateProfile, // Only update profile information
|
UpdateProfile, // Only update profile information
|
||||||
ExecuteRequests, // Run the queued requests, and then synchronize if needed.
|
ExecuteRequests, // Run the queued requests, and then synchronize if needed.
|
||||||
FoldersOnly, // Only synchronize folder metadata.
|
FoldersOnly, // Only synchronize folder metadata.
|
||||||
InboxOnly, // Only Inbox, Sent and Draft folders.
|
InboxOnly, // Only Inbox, Sent, Draft and Deleted folders.
|
||||||
CustomFolders, // Only sync folders that are specified in the options.
|
CustomFolders, // Only sync folders that are specified in the options.
|
||||||
FullFolders, // Synchronize all folders. This won't update profile or alias information.
|
FullFolders, // Synchronize all folders. This won't update profile or alias information.
|
||||||
Alias, // Only update alias information
|
Alias, // Only update alias information
|
||||||
}
|
IMAPIdle // Idle client triggered synchronization.
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum NavigationReferenceFrame
|
||||||
{
|
{
|
||||||
public enum NavigationReferenceFrame
|
|
||||||
{
|
|
||||||
ShellFrame,
|
ShellFrame,
|
||||||
RenderingFrame
|
RenderingFrame
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Defines the potential reasons for picking folder in the folder picking dialog.
|
||||||
|
/// </summary>
|
||||||
|
public enum PickFolderReason
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Defines the potential reasons for picking folder in the folder picking dialog.
|
|
||||||
/// </summary>
|
|
||||||
public enum PickFolderReason
|
|
||||||
{
|
|
||||||
Move,
|
Move,
|
||||||
SpecialFolder,
|
SpecialFolder,
|
||||||
Any
|
Any
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum PrintingResult
|
||||||
{
|
{
|
||||||
public enum PrintingResult
|
|
||||||
{
|
|
||||||
Abandoned,
|
Abandoned,
|
||||||
Canceled,
|
Canceled,
|
||||||
Failed,
|
Failed,
|
||||||
Submitted
|
Submitted
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
6
Wino.Core.Domain/Enums/SearchMode.cs
Normal file
6
Wino.Core.Domain/Enums/SearchMode.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
public enum SearchMode
|
||||||
|
{
|
||||||
|
Local,
|
||||||
|
Online
|
||||||
|
}
|
||||||
@@ -1,12 +1,11 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// What should happen to server app when the client is terminated.
|
||||||
|
/// </summary>
|
||||||
|
public enum ServerBackgroundMode
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// What should happen to server app when the client is terminated.
|
|
||||||
/// </summary>
|
|
||||||
public enum ServerBackgroundMode
|
|
||||||
{
|
|
||||||
MinimizedTray, // Still runs, tray icon is visible.
|
MinimizedTray, // Still runs, tray icon is visible.
|
||||||
Invisible, // Still runs, tray icon is invisible.
|
Invisible, // Still runs, tray icon is invisible.
|
||||||
Terminate // Server is terminated as Wino terminates.
|
Terminate // Server is terminated as Wino terminates.
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum SortingOptionType
|
||||||
{
|
{
|
||||||
public enum SortingOptionType
|
|
||||||
{
|
|
||||||
ReceiveDate,
|
ReceiveDate,
|
||||||
Sender
|
Sender
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum SpecialFolderType
|
||||||
{
|
{
|
||||||
public enum SpecialFolderType
|
|
||||||
{
|
|
||||||
Inbox,
|
Inbox,
|
||||||
Starred,
|
Starred,
|
||||||
Important,
|
Important,
|
||||||
@@ -20,5 +20,4 @@
|
|||||||
Social,
|
Social,
|
||||||
Other,
|
Other,
|
||||||
More
|
More
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
8
Wino.Core.Domain/Enums/SpecialImapProvider.cs
Normal file
8
Wino.Core.Domain/Enums/SpecialImapProvider.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum SpecialImapProvider
|
||||||
|
{
|
||||||
|
None,
|
||||||
|
iCloud,
|
||||||
|
Yahoo
|
||||||
|
}
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum StartupBehaviorResult
|
||||||
{
|
{
|
||||||
public enum StartupBehaviorResult
|
|
||||||
{
|
|
||||||
Enabled,
|
Enabled,
|
||||||
Disabled,
|
Disabled,
|
||||||
DisabledByUser,
|
DisabledByUser,
|
||||||
DisabledByPolicy,
|
DisabledByPolicy,
|
||||||
Fatal
|
Fatal
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
// From the SDK.
|
||||||
|
public enum StorePurchaseResult
|
||||||
{
|
{
|
||||||
// From the SDK.
|
|
||||||
public enum StorePurchaseResult
|
|
||||||
{
|
|
||||||
//
|
//
|
||||||
// Summary:
|
// Summary:
|
||||||
// The purchase request succeeded.
|
// The purchase request succeeded.
|
||||||
@@ -15,5 +15,4 @@
|
|||||||
// Summary:
|
// Summary:
|
||||||
// The purchase request did not succeed.
|
// The purchase request did not succeed.
|
||||||
NotPurchased,
|
NotPurchased,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum SynchronizationCompletedState
|
||||||
{
|
{
|
||||||
public enum SynchronizationCompletedState
|
|
||||||
{
|
|
||||||
Success, // All succeeded.
|
Success, // All succeeded.
|
||||||
Canceled, // Canceled by user or HTTP call.
|
Canceled, // Canceled by user or HTTP call.
|
||||||
Failed // Exception.
|
Failed // Exception.
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enumeration for the source of synchronization.
|
||||||
|
/// Right now it can either be from the client or the server.
|
||||||
|
/// </summary>
|
||||||
|
public enum SynchronizationSource
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Enumeration for the source of synchronization.
|
|
||||||
/// Right now it can either be from the client or the server.
|
|
||||||
/// </summary>
|
|
||||||
public enum SynchronizationSource
|
|
||||||
{
|
|
||||||
Client,
|
Client,
|
||||||
Server
|
Server
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum WinoAppType
|
||||||
{
|
{
|
||||||
public enum WinoAppType
|
|
||||||
{
|
|
||||||
Unknown,
|
Unknown,
|
||||||
Mail,
|
Mail,
|
||||||
Calendar
|
Calendar
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum WinoCustomMessageDialogIcon
|
||||||
{
|
{
|
||||||
public enum WinoCustomMessageDialogIcon
|
|
||||||
{
|
|
||||||
Information,
|
Information,
|
||||||
Warning,
|
Warning,
|
||||||
Error,
|
Error,
|
||||||
Question
|
Question
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// All registered views.
|
||||||
|
/// </summary>
|
||||||
|
public enum WinoPage
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// All registered views.
|
|
||||||
/// </summary>
|
|
||||||
public enum WinoPage
|
|
||||||
{
|
|
||||||
None,
|
None,
|
||||||
IdlePage,
|
IdlePage,
|
||||||
ComposePage,
|
ComposePage,
|
||||||
@@ -30,5 +30,4 @@
|
|||||||
CalendarPage,
|
CalendarPage,
|
||||||
CalendarSettingsPage,
|
CalendarSettingsPage,
|
||||||
EventDetailsPage
|
EventDetailsPage
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
namespace Wino.Core.Domain.Enums
|
namespace Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
|
public enum WinoServerConnectionStatus
|
||||||
{
|
{
|
||||||
public enum WinoServerConnectionStatus
|
|
||||||
{
|
|
||||||
None,
|
None,
|
||||||
Connecting,
|
Connecting,
|
||||||
Connected,
|
Connected,
|
||||||
Disconnected,
|
Disconnected,
|
||||||
Failed
|
Failed
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
{
|
|
||||||
public class AccountSetupCanceledException : System.Exception
|
public class AccountSetupCanceledException : System.Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
using System;
|
using System;
|
||||||
using Wino.Core.Domain.Entities.Shared;
|
using Wino.Core.Domain.Entities.Shared;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Thrown when IAuthenticator requires user interaction to fix authentication issues.
|
||||||
|
/// It can be expired and can't restorable token, or some stuff that requires re-authentication.
|
||||||
|
/// </summary>
|
||||||
|
public class AuthenticationAttentionException : Exception
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Thrown when IAuthenticator requires user interaction to fix authentication issues.
|
|
||||||
/// It can be expired and can't restorable token, or some stuff that requires re-authentication.
|
|
||||||
/// </summary>
|
|
||||||
public class AuthenticationAttentionException : Exception
|
|
||||||
{
|
|
||||||
public AuthenticationAttentionException(MailAccount account)
|
public AuthenticationAttentionException(MailAccount account)
|
||||||
{
|
{
|
||||||
Account = account;
|
Account = account;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MailAccount Account { get; }
|
public MailAccount Account { get; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// All exceptions related to authentication.
|
||||||
|
/// </summary>
|
||||||
|
public class AuthenticationException : Exception
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// All exceptions related to authentication.
|
|
||||||
/// </summary>
|
|
||||||
public class AuthenticationException : Exception
|
|
||||||
{
|
|
||||||
public AuthenticationException(string message) : base(message)
|
public AuthenticationException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -14,5 +14,4 @@ namespace Wino.Core.Domain.Exceptions
|
|||||||
public AuthenticationException(string message, Exception innerException) : base(message, innerException)
|
public AuthenticationException(string message, Exception innerException) : base(message, innerException)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// An exception thrown when the background task registration is failed.
|
/// An exception thrown when the background task registration is failed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class BackgroundTaskRegistrationFailedException : Exception { }
|
public class BackgroundTaskRegistrationFailedException : Exception { }
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Thrown when composer cant find the mime to load.
|
||||||
|
/// </summary>
|
||||||
|
public class ComposerMimeNotFoundException : Exception
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Thrown when composer cant find the mime to load.
|
|
||||||
/// </summary>
|
|
||||||
public class ComposerMimeNotFoundException : Exception
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class CustomThemeCreationFailedException : Exception
|
||||||
{
|
{
|
||||||
public class CustomThemeCreationFailedException : Exception
|
|
||||||
{
|
|
||||||
public CustomThemeCreationFailedException(string message) : base(message)
|
public CustomThemeCreationFailedException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class GoogleAuthenticationException : System.Exception
|
||||||
{
|
{
|
||||||
public class GoogleAuthenticationException : System.Exception
|
|
||||||
{
|
|
||||||
public GoogleAuthenticationException(string message) : base(message) { }
|
public GoogleAuthenticationException(string message) : base(message) { }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,30 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using Wino.Core.Domain.Entities.Shared;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class ImapClientPoolException : Exception
|
||||||
{
|
{
|
||||||
public class ImapClientPoolException : Exception
|
public ImapClientPoolException()
|
||||||
{
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public ImapClientPoolException(string message, CustomServerInformation customServerInformation, string protocolLog) : base(message)
|
||||||
|
{
|
||||||
|
CustomServerInformation = customServerInformation;
|
||||||
|
ProtocolLog = protocolLog;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ImapClientPoolException(string message, string protocolLog) : base(message)
|
||||||
|
{
|
||||||
|
ProtocolLog = protocolLog;
|
||||||
|
}
|
||||||
|
|
||||||
public ImapClientPoolException(Exception innerException, string protocolLog) : base(Translator.Exception_ImapClientPoolFailed, innerException)
|
public ImapClientPoolException(Exception innerException, string protocolLog) : base(Translator.Exception_ImapClientPoolFailed, innerException)
|
||||||
{
|
{
|
||||||
ProtocolLog = protocolLog;
|
ProtocolLog = protocolLog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CustomServerInformation CustomServerInformation { get; }
|
||||||
public string ProtocolLog { get; }
|
public string ProtocolLog { get; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using Wino.Core.Domain.Models.AutoDiscovery;
|
using Wino.Core.Domain.Models.AutoDiscovery;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class ImapConnectionFailedPackage
|
||||||
{
|
{
|
||||||
public class ImapConnectionFailedPackage
|
|
||||||
{
|
|
||||||
public ImapConnectionFailedPackage(string errorMessage, string protocolLog, AutoDiscoverySettings settings)
|
public ImapConnectionFailedPackage(string errorMessage, string protocolLog, AutoDiscoverySettings settings)
|
||||||
{
|
{
|
||||||
ErrorMessage = errorMessage;
|
ErrorMessage = errorMessage;
|
||||||
@@ -14,5 +14,4 @@ namespace Wino.Core.Domain.Exceptions
|
|||||||
public AutoDiscoverySettings Settings { get; }
|
public AutoDiscoverySettings Settings { get; }
|
||||||
public string ErrorMessage { get; set; }
|
public string ErrorMessage { get; set; }
|
||||||
public string ProtocolLog { get; }
|
public string ProtocolLog { get; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class ImapSynchronizerStrategyException : System.Exception
|
||||||
|
{
|
||||||
|
public ImapSynchronizerStrategyException(string message) : base(message)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class ImapTestSSLCertificateException : System.Exception
|
||||||
{
|
{
|
||||||
public class ImapTestSSLCertificateException : System.Exception
|
|
||||||
{
|
|
||||||
public ImapTestSSLCertificateException(string issuer, string expirationDateString, string validFromDateString)
|
public ImapTestSSLCertificateException(string issuer, string expirationDateString, string validFromDateString)
|
||||||
{
|
{
|
||||||
Issuer = issuer;
|
Issuer = issuer;
|
||||||
@@ -13,5 +13,4 @@
|
|||||||
public string ExpirationDateString { get; set; }
|
public string ExpirationDateString { get; set; }
|
||||||
public string ValidFromDateString { get; set; }
|
public string ValidFromDateString { get; set; }
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
{
|
|
||||||
public class InvalidMoveTargetException : Exception { }
|
public class InvalidMoveTargetException : Exception { }
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class MissingAliasException : System.Exception
|
||||||
{
|
{
|
||||||
public class MissingAliasException : System.Exception
|
|
||||||
{
|
|
||||||
public MissingAliasException() : base(Translator.Exception_MissingAlias) { }
|
public MissingAliasException() : base(Translator.Exception_MissingAlias) { }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class SynchronizerEntityNotFoundException : Exception
|
||||||
{
|
{
|
||||||
public class SynchronizerEntityNotFoundException : Exception
|
|
||||||
{
|
|
||||||
public SynchronizerEntityNotFoundException(string message) : base(message)
|
public SynchronizerEntityNotFoundException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
public class SynchronizerException : Exception
|
||||||
{
|
{
|
||||||
public class SynchronizerException : Exception
|
|
||||||
{
|
|
||||||
public SynchronizerException(string message) : base(message)
|
public SynchronizerException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -11,5 +11,4 @@ namespace Wino.Core.Domain.Exceptions
|
|||||||
public SynchronizerException(string message, Exception innerException) : base(message, innerException)
|
public SynchronizerException(string message, Exception innerException) : base(message, innerException)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// When IMAP account's system folder configuration setup is not done yet.
|
/// When IMAP account's system folder configuration setup is not done yet.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SystemFolderConfigurationMissingException : System.Exception { }
|
public class SystemFolderConfigurationMissingException : System.Exception { }
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
using System;
|
using System;
|
||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
|
|
||||||
namespace Wino.Core.Domain.Exceptions
|
namespace Wino.Core.Domain.Exceptions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Emitted when special folder is needed for an operation but it couldn't be found.
|
||||||
|
/// </summary>
|
||||||
|
public class UnavailableSpecialFolderException : Exception
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Emitted when special folder is needed for an operation but it couldn't be found.
|
|
||||||
/// </summary>
|
|
||||||
public class UnavailableSpecialFolderException : Exception
|
|
||||||
{
|
|
||||||
public UnavailableSpecialFolderException(SpecialFolderType specialFolderType, Guid accountId)
|
public UnavailableSpecialFolderException(SpecialFolderType specialFolderType, Guid accountId)
|
||||||
{
|
{
|
||||||
SpecialFolderType = specialFolderType;
|
SpecialFolderType = specialFolderType;
|
||||||
@@ -16,5 +16,4 @@ namespace Wino.Core.Domain.Exceptions
|
|||||||
|
|
||||||
public SpecialFolderType SpecialFolderType { get; }
|
public SpecialFolderType SpecialFolderType { get; }
|
||||||
public Guid AccountId { get; set; }
|
public Guid AccountId { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user