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); } } }