Files
Wino-Mail/Wino.Core/Extensions/MailkitExtensions.cs
2025-02-16 11:54:23 +01:00

36 lines
1.0 KiB
C#

using System;
using System.Linq;
using MailKit;
using Wino.Core.Domain.Entities.Mail;
namespace Wino.Core.Extensions;
public static class MailkitExtensions
{
public static MailItemFolder GetLocalFolder(this IMailFolder mailkitMailFolder)
{
bool isAllCapital = mailkitMailFolder.Name?.All(a => char.IsUpper(a)) ?? false;
return new MailItemFolder()
{
Id = Guid.NewGuid(),
FolderName = isAllCapital ? mailkitMailFolder.Name.OnlyCapitilizeFirstLetter() : mailkitMailFolder.Name,
RemoteFolderId = mailkitMailFolder.FullName,
ParentRemoteFolderId = mailkitMailFolder.ParentFolder?.FullName,
SpecialFolderType = Domain.Enums.SpecialFolderType.Other
};
}
public static string OnlyCapitilizeFirstLetter(this string s)
{
if (string.IsNullOrEmpty(s))
return string.Empty;
s = s.ToLower();
char[] a = s.ToCharArray();
a[0] = char.ToUpper(a[0]);
return new string(a);
}
}