36 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|