WhiteLabel: fix async

This commit is contained in:
pavelbannov 2022-11-23 17:23:46 +03:00
parent 236583718c
commit c3e32fac2f
11 changed files with 76 additions and 77 deletions

View File

@ -617,7 +617,7 @@ public class CustomerConfig<T>
public string Address => _settingsManager.LoadForDefaultTenant<CompanyWhiteLabelSettings>().Address; public string Address => _settingsManager.LoadForDefaultTenant<CompanyWhiteLabelSettings>().Address;
public string Logo => _baseCommonLinkUtility.GetFullAbsolutePath(_tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.LoginPage, false)); public string Logo => _baseCommonLinkUtility.GetFullAbsolutePath(_tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.LoginPage, false).Result);
public string Mail => _settingsManager.LoadForDefaultTenant<CompanyWhiteLabelSettings>().Email; public string Mail => _settingsManager.LoadForDefaultTenant<CompanyWhiteLabelSettings>().Email;
@ -931,16 +931,15 @@ public class LogoConfig<T>
return _configuration.EditorType == EditorType.Embedded return _configuration.EditorType == EditorType.Embedded
|| fillingForm || fillingForm
? _commonLinkUtility.GetFullAbsolutePath(_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditorEmbed)) ? _commonLinkUtility.GetFullAbsolutePath(_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditorEmbed).Result)
: _commonLinkUtility.GetFullAbsolutePath(_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditor)); : _commonLinkUtility.GetFullAbsolutePath(_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditor).Result);
} }
} }
public string ImageDark public string ImageDark
{ {
set { } set { }
get => _commonLinkUtility.GetFullAbsolutePath( get => _commonLinkUtility.GetFullAbsolutePath(_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditor).Result);
_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditor));
} }
public string ImageEmbedded public string ImageEmbedded
@ -949,7 +948,7 @@ public class LogoConfig<T>
{ {
return _configuration.EditorType != EditorType.Embedded return _configuration.EditorType != EditorType.Embedded
? null ? null
: _commonLinkUtility.GetFullAbsolutePath(_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditorEmbed)); : _commonLinkUtility.GetFullAbsolutePath(_tenantLogoHelper.GetLogo(WhiteLabelLogoTypeEnum.DocsEditorEmbed).Result);
} }
} }

View File

@ -149,7 +149,7 @@ public class PhotoController : PeopleControllerBase
} }
[HttpPost("{userid}/photo")] [HttpPost("{userid}/photo")]
public FileUploadResultDto UploadMemberPhoto(string userid, IFormCollection formCollection) public async Task<FileUploadResultDto> UploadMemberPhoto(string userid, IFormCollection formCollection)
{ {
var result = new FileUploadResultDto(); var result = new FileUploadResultDto();
var autosave = bool.Parse(formCollection["Autosave"]); var autosave = bool.Parse(formCollection["Autosave"]);
@ -211,7 +211,7 @@ public class PhotoController : PeopleControllerBase
} }
else else
{ {
result.Data = _userPhotoManager.SaveTempPhoto(data, _setupInfo.MaxImageUploadSize, UserPhotoManager.OriginalFotoSize.Width, UserPhotoManager.OriginalFotoSize.Height); result.Data = await _userPhotoManager.SaveTempPhoto(data, _setupInfo.MaxImageUploadSize, UserPhotoManager.OriginalFotoSize.Width, UserPhotoManager.OriginalFotoSize.Height);
} }
result.Success = true; result.Success = true;

View File

@ -158,7 +158,7 @@ public class WhitelabelController : BaseSettingsController
///<visible>false</visible> ///<visible>false</visible>
[AllowNotPayment, AllowAnonymous] [AllowNotPayment, AllowAnonymous]
[HttpGet("whitelabel/logos")] [HttpGet("whitelabel/logos")]
public IEnumerable<WhiteLabelItemDto> GetWhiteLabelLogos([FromQuery] WhiteLabelQueryRequestsDto inDto) public async IAsyncEnumerable<WhiteLabelItemDto> GetWhiteLabelLogos([FromQuery] WhiteLabelQueryRequestsDto inDto)
{ {
var _tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var _tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
@ -172,7 +172,7 @@ public class WhitelabelController : BaseSettingsController
if (inDto.IsDark.HasValue) if (inDto.IsDark.HasValue)
{ {
var path = _commonLinkUtility.GetFullAbsolutePath(_tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, logoType, inDto.IsDark.Value)); var path = _commonLinkUtility.GetFullAbsolutePath(await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, logoType, inDto.IsDark.Value));
if (inDto.IsDark.Value) if (inDto.IsDark.Value)
{ {
@ -191,8 +191,8 @@ public class WhitelabelController : BaseSettingsController
} }
else else
{ {
var lightPath = _commonLinkUtility.GetFullAbsolutePath(_tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, logoType, false)); var lightPath = _commonLinkUtility.GetFullAbsolutePath(await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, logoType, false));
var darkPath = _commonLinkUtility.GetFullAbsolutePath(_tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, logoType, true)); var darkPath = _commonLinkUtility.GetFullAbsolutePath(await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, logoType, true));
if (lightPath == darkPath) if (lightPath == darkPath)
{ {

View File

@ -67,7 +67,7 @@ public class LogoUploader
if (logo.ContentType.Contains("svg")) if (logo.ContentType.Contains("svg"))
{ {
result.Success = true; result.Success = true;
result.Message = userPhotoManager.SaveTempSvg(data, setupInfo.MaxImageUploadSize); result.Message = await userPhotoManager.SaveTempSvg(data, setupInfo.MaxImageUploadSize);
} }
else else
{ {
@ -81,8 +81,7 @@ public class LogoUploader
} }
} }
result.Success = true; result.Success = true;
result.Message = userPhotoManager.SaveTempPhoto(data, setupInfo.MaxImageUploadSize, size.Width, result.Message = await userPhotoManager.SaveTempPhoto(data, setupInfo.MaxImageUploadSize, size.Width, size.Height);
size.Height);
} }
} }
else else

View File

@ -375,7 +375,7 @@ public class NotifyTransferRequest : INotifyEngineAction
if (logoData == null) if (logoData == null)
{ {
var logoStream = _tenantLogoManager.GetWhitelabelMailLogo(); var logoStream = _tenantLogoManager.GetWhitelabelMailLogo().Result;
logoData = ReadStreamToByteArray(logoStream) ?? GetDefaultMailLogo(); logoData = ReadStreamToByteArray(logoStream) ?? GetDefaultMailLogo();
if (logoData != null) if (logoData != null)
@ -404,7 +404,7 @@ public class NotifyTransferRequest : INotifyEngineAction
} }
} }
var logoUrl = _commonLinkUtility.GetFullAbsolutePath(_tenantLogoManager.GetLogoDark(false)); var logoUrl = _commonLinkUtility.GetFullAbsolutePath(_tenantLogoManager.GetLogoDark(false).Result);
request.Arguments.Add(new TagValue(CommonTags.LetterLogo, logoUrl)); request.Arguments.Add(new TagValue(CommonTags.LetterLogo, logoUrl));
} }

View File

@ -458,7 +458,7 @@ public class UserPhotoManager
if (!string.IsNullOrEmpty(fileName)) if (!string.IsNullOrEmpty(fileName))
{ {
var store = GetDataStore(); var store = GetDataStore();
return store.GetUriAsync(fileName).Result.ToString(); return (await store.GetUriAsync(fileName)).ToString();
} }
return null; return null;
@ -566,7 +566,7 @@ public class UserPhotoManager
{ {
using (var stream = new MemoryStream(data)) using (var stream = new MemoryStream(data))
{ {
photoUrl = store.SaveAsync(fileName, stream).Result.ToString(); photoUrl = (await store.SaveAsync(fileName, stream)).ToString();
} }
//Queue resizing //Queue resizing
var t1 = SizePhoto(userID, data, -1, SmallFotoSize, true); var t1 = SizePhoto(userID, data, -1, SmallFotoSize, true);
@ -753,12 +753,12 @@ public class UserPhotoManager
} }
} }
public string GetTempPhotoAbsoluteWebPath(string fileName) public async Task<string> GetTempPhotoAbsoluteWebPath(string fileName)
{ {
return GetDataStore().GetUriAsync(_tempDomainName, fileName).Result.ToString(); return (await GetDataStore().GetUriAsync(_tempDomainName, fileName)).ToString();
} }
public string SaveTempPhoto(byte[] data, long maxFileSize, int maxWidth, int maxHeight) public async Task<string> SaveTempPhoto(byte[] data, long maxFileSize, int maxWidth, int maxHeight)
{ {
data = TryParseImage(data, maxFileSize, new Size(maxWidth, maxHeight), out var imgFormat, out _, out _); data = TryParseImage(data, maxFileSize, new Size(maxWidth, maxHeight), out var imgFormat, out _, out _);
@ -766,10 +766,10 @@ public class UserPhotoManager
var store = GetDataStore(); var store = GetDataStore();
using var stream = new MemoryStream(data); using var stream = new MemoryStream(data);
return store.SaveAsync(_tempDomainName, fileName, stream).Result.ToString(); return (await store.SaveAsync(_tempDomainName, fileName, stream)).ToString();
} }
public string SaveTempSvg(byte[] data, long maxFileSize) public async Task<string> SaveTempSvg(byte[] data, long maxFileSize)
{ {
if (maxFileSize != -1 && data.Length > maxFileSize) if (maxFileSize != -1 && data.Length > maxFileSize)
{ {
@ -779,7 +779,7 @@ public class UserPhotoManager
using var stream = new MemoryStream(data); using var stream = new MemoryStream(data);
var fileName = Guid.NewGuid() + ".svg"; var fileName = Guid.NewGuid() + ".svg";
var store = GetDataStore(); var store = GetDataStore();
return store.SaveAsync(_tempDomainName, fileName, stream).Result.ToString(); return (await store.SaveAsync(_tempDomainName, fileName, stream)).ToString();
} }
public async Task<byte[]> GetTempPhotoData(string fileName) public async Task<byte[]> GetTempPhotoData(string fileName)
@ -802,12 +802,12 @@ public class UserPhotoManager
return data.ToArray(); return data.ToArray();
} }
public string GetSizedTempPhotoAbsoluteWebPath(string fileName, int newWidth, int newHeight) public async Task<string> GetSizedTempPhotoAbsoluteWebPath(string fileName, int newWidth, int newHeight)
{ {
var store = GetDataStore(); var store = GetDataStore();
if (store.IsFileAsync(_tempDomainName, fileName).Result) if (await store.IsFileAsync(_tempDomainName, fileName))
{ {
using var s = store.GetReadStreamAsync(_tempDomainName, fileName).Result; using var s = await store.GetReadStreamAsync(_tempDomainName, fileName);
using var img = Image.Load(s, out var format); using var img = Image.Load(s, out var format);
var imgFormat = format; var imgFormat = format;
byte[] data; byte[] data;
@ -827,8 +827,9 @@ public class UserPhotoManager
var trueFileName = fileNameWithoutExt + "_size_" + newWidth.ToString() + "-" + newHeight.ToString() + "." + widening; var trueFileName = fileNameWithoutExt + "_size_" + newWidth.ToString() + "-" + newHeight.ToString() + "." + widening;
using var stream = new MemoryStream(data); using var stream = new MemoryStream(data);
return store.SaveAsync(_tempDomainName, trueFileName, stream).Result.ToString(); return (await store.SaveAsync(_tempDomainName, trueFileName, stream)).ToString();
} }
return GetDefaultPhotoAbsoluteWebPath(new Size(newWidth, newHeight)); return GetDefaultPhotoAbsoluteWebPath(new Size(newWidth, newHeight));
} }
@ -862,7 +863,7 @@ public class UserPhotoManager
return null; return null;
} }
public string SaveThumbnail(Guid userID, Image img, IImageFormat format) public async Task<string> SaveThumbnail(Guid userID, Image img, IImageFormat format)
{ {
var moduleID = Guid.Empty; var moduleID = Guid.Empty;
var widening = CommonPhotoManager.GetImgFormatName(format); var widening = CommonPhotoManager.GetImgFormatName(format);
@ -874,7 +875,7 @@ public class UserPhotoManager
using (var s = new MemoryStream(CommonPhotoManager.SaveToBytes(img))) using (var s = new MemoryStream(CommonPhotoManager.SaveToBytes(img)))
{ {
img.Dispose(); img.Dispose();
photoUrl = store.SaveAsync(fileName, s).Result.ToString(); photoUrl = (await store.SaveAsync(fileName, s)).ToString();
} }
_userPhotoManagerCache.AddToCache(userID, size, fileName, _tenant.Id); _userPhotoManagerCache.AddToCache(userID, size, fileName, _tenant.Id);
@ -887,14 +888,14 @@ public class UserPhotoManager
{ {
var pattern = string.Format("{0}_size_{1}-{2}.*", userId, size.Width, size.Height); var pattern = string.Format("{0}_size_{1}-{2}.*", userId, size.Width, size.Height);
var fileName = (await GetDataStore().ListFilesRelativeAsync("", "", pattern, false).ToArrayAsync()).FirstOrDefault(); var fileName = await GetDataStore().ListFilesRelativeAsync("", "", pattern, false).FirstOrDefaultAsync();
if (string.IsNullOrEmpty(fileName)) if (string.IsNullOrEmpty(fileName))
{ {
return null; return null;
} }
using var s = GetDataStore().GetReadStreamAsync("", fileName).Result; using var s = await GetDataStore().GetReadStreamAsync("", fileName);
var data = new MemoryStream(); var data = new MemoryStream();
var buffer = new byte[1024 * 10]; var buffer = new byte[1024 * 10];
while (true) while (true)

View File

@ -63,7 +63,7 @@ public static class UserPhotoThumbnailManager
resultBitmaps.Add(thumbnail); resultBitmaps.Add(thumbnail);
} }
thumbnailsData.Save(resultBitmaps); await thumbnailsData.Save(resultBitmaps);
settingsManager.SaveForUser(thumbnailSettings, userId); settingsManager.SaveForUser(thumbnailSettings, userId);
@ -248,12 +248,12 @@ public class ThumbnailsData
}; };
} }
public void Save(List<ThumbnailItem> bitmaps) public async Task Save(List<ThumbnailItem> bitmaps)
{ {
foreach (var item in bitmaps) foreach (var item in bitmaps)
{ {
using var mainImgBitmap = MainImgBitmap(out var format); using var mainImgBitmap = MainImgBitmap(out var format);
_userPhotoManager.SaveThumbnail(_userId, item.Image, format); await _userPhotoManager.SaveThumbnail(_userId, item.Image, format);
} }
} }
} }

View File

@ -46,19 +46,19 @@ public class TenantLogoHelper
_tenantInfoSettingsHelper = tenantInfoSettingsHelper; _tenantInfoSettingsHelper = tenantInfoSettingsHelper;
} }
public string GetLogo(WhiteLabelLogoTypeEnum type, bool isDefIfNoWhiteLabel = false, bool dark = false) public async Task<string> GetLogo(WhiteLabelLogoTypeEnum type, bool isDefIfNoWhiteLabel = false, bool dark = false)
{ {
string imgUrl; string imgUrl;
if (_tenantLogoManager.WhiteLabelEnabled) if (_tenantLogoManager.WhiteLabelEnabled)
{ {
var _tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var _tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
return _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, type, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, type, dark);
} }
else else
{ {
if (isDefIfNoWhiteLabel) if (isDefIfNoWhiteLabel)
{ {
imgUrl = _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(type, dark); imgUrl = await _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(type, dark);
} }
else else
{ {
@ -71,7 +71,7 @@ public class TenantLogoHelper
} }
else else
{ {
imgUrl = _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(type, dark); imgUrl = await _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(type, dark);
} }
} }
} }

View File

@ -143,7 +143,7 @@ public class TenantInfoSettingsHelper
/// <summary> /// <summary>
/// Get logo stream or null in case of default logo /// Get logo stream or null in case of default logo
/// </summary> /// </summary>
public Stream GetStorageLogoData(TenantInfoSettings tenantInfoSettings) public async Task<Stream> GetStorageLogoData(TenantInfoSettings tenantInfoSettings)
{ {
if (tenantInfoSettings.IsDefault) if (tenantInfoSettings.IsDefault)
{ {
@ -159,6 +159,6 @@ public class TenantInfoSettingsHelper
var fileName = tenantInfoSettings.CompanyLogoFileName ?? ""; var fileName = tenantInfoSettings.CompanyLogoFileName ?? "";
return storage.IsFileAsync(fileName).Result ? storage.GetReadStreamAsync(fileName).Result : null; return await storage.IsFileAsync(fileName) ? await storage.GetReadStreamAsync(fileName) : null;
} }
} }

View File

@ -61,13 +61,13 @@ public class TenantLogoManager
_cacheNotify = cacheNotify; _cacheNotify = cacheNotify;
} }
public string GetFavicon(bool timeParam, bool dark) public async Task<string> GetFavicon(bool timeParam, bool dark)
{ {
string faviconPath; string faviconPath;
var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
if (WhiteLabelEnabled) if (WhiteLabelEnabled)
{ {
faviconPath = _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.Favicon, dark); faviconPath = await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.Favicon, dark);
if (timeParam) if (timeParam)
{ {
var now = DateTime.Now; var now = DateTime.Now;
@ -76,29 +76,29 @@ public class TenantLogoManager
} }
else else
{ {
faviconPath = _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.Favicon, dark); faviconPath = await _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.Favicon, dark);
} }
return faviconPath; return faviconPath;
} }
public string GetTopLogo(bool dark)//LogoLightSmall public async Task<string> GetTopLogo(bool dark)//LogoLightSmall
{ {
var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
if (WhiteLabelEnabled) if (WhiteLabelEnabled)
{ {
return _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.LightSmall, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.LightSmall, dark);
} }
return _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.LightSmall, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.LightSmall, dark);
} }
public string GetLogoDark(bool dark) public async Task<string> GetLogoDark(bool dark)
{ {
if (WhiteLabelEnabled) if (WhiteLabelEnabled)
{ {
var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
return _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.LoginPage, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.LoginPage, dark);
} }
/*** simple scheme ***/ /*** simple scheme ***/
@ -106,26 +106,26 @@ public class TenantLogoManager
/***/ /***/
} }
public string GetLogoDocsEditor(bool dark) public async Task<string> GetLogoDocsEditor(bool dark)
{ {
var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
if (WhiteLabelEnabled) if (WhiteLabelEnabled)
{ {
return _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.DocsEditor, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.DocsEditor, dark);
} }
return _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.DocsEditor, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.DocsEditor, dark);
} }
public string GetLogoDocsEditorEmbed(bool dark) public async Task<string> GetLogoDocsEditorEmbed(bool dark)
{ {
var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
if (WhiteLabelEnabled) if (WhiteLabelEnabled)
{ {
return _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.DocsEditorEmbed, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.DocsEditorEmbed, dark);
} }
return _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.DocsEditorEmbed, dark); return await _tenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum.DocsEditorEmbed, dark);
} }
@ -174,16 +174,16 @@ public class TenantLogoManager
/// <summary> /// <summary>
/// Get logo stream or null in case of default logo /// Get logo stream or null in case of default logo
/// </summary> /// </summary>
public Stream GetWhitelabelMailLogo() public async Task<Stream> GetWhitelabelMailLogo()
{ {
if (WhiteLabelEnabled) if (WhiteLabelEnabled)
{ {
var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>(); var tenantWhiteLabelSettings = _settingsManager.Load<TenantWhiteLabelSettings>();
return _tenantWhiteLabelSettingsHelper.GetWhitelabelLogoData(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.LoginPage, true); return await _tenantWhiteLabelSettingsHelper.GetWhitelabelLogoData(tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum.LoginPage, true);
} }
/*** simple scheme ***/ /*** simple scheme ***/
return _tenantInfoSettingsHelper.GetStorageLogoData(_settingsManager.Load<TenantInfoSettings>()); return await _tenantInfoSettingsHelper.GetStorageLogoData(_settingsManager.Load<TenantInfoSettings>());
/***/ /***/
} }

View File

@ -546,31 +546,31 @@ public class TenantWhiteLabelSettingsHelper
#region Get logo path #region Get logo path
public string GetAbsoluteLogoPath(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark = false) public async Task<string> GetAbsoluteLogoPath(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark = false)
{ {
if (tenantWhiteLabelSettings.GetIsDefault(type)) if (tenantWhiteLabelSettings.GetIsDefault(type))
{ {
return GetAbsoluteDefaultLogoPath(type, dark); return await GetAbsoluteDefaultLogoPath(type, dark);
} }
return GetAbsoluteStorageLogoPath(tenantWhiteLabelSettings, type, dark); return await GetAbsoluteStorageLogoPath(tenantWhiteLabelSettings, type, dark);
} }
private string GetAbsoluteStorageLogoPath(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark) private async Task<string> GetAbsoluteStorageLogoPath(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark)
{ {
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName); var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName);
var fileName = BuildLogoFileName(type, tenantWhiteLabelSettings.GetExt(type), dark); var fileName = BuildLogoFileName(type, tenantWhiteLabelSettings.GetExt(type), dark);
if (store.IsFileAsync(fileName).Result) if (await store.IsFileAsync(fileName))
{ {
return store.GetUriAsync(fileName).Result.ToString(); return (await store.GetUriAsync(fileName)).ToString();
} }
return GetAbsoluteDefaultLogoPath(type, dark); return await GetAbsoluteDefaultLogoPath(type, dark);
} }
public string GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum type, bool dark) public async Task<string> GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum type, bool dark)
{ {
var partnerLogoPath = GetPartnerStorageLogoPath(type, dark); var partnerLogoPath = await GetPartnerStorageLogoPath(type, dark);
if (!string.IsNullOrEmpty(partnerLogoPath)) if (!string.IsNullOrEmpty(partnerLogoPath))
{ {
return partnerLogoPath; return partnerLogoPath;
@ -579,7 +579,7 @@ public class TenantWhiteLabelSettingsHelper
return _webImageSupplier.GetAbsoluteWebPath($"logo/" + BuildLogoFileName(type, "svg", dark)); return _webImageSupplier.GetAbsoluteWebPath($"logo/" + BuildLogoFileName(type, "svg", dark));
} }
private string GetPartnerStorageLogoPath(WhiteLabelLogoTypeEnum type, bool dark) private async Task<string> GetPartnerStorageLogoPath(WhiteLabelLogoTypeEnum type, bool dark)
{ {
var partnerSettings = _settingsManager.LoadForDefaultTenant<TenantWhiteLabelSettings>(); var partnerSettings = _settingsManager.LoadForDefaultTenant<TenantWhiteLabelSettings>();
@ -597,7 +597,7 @@ public class TenantWhiteLabelSettingsHelper
var logoPath = BuildLogoFileName(type, partnerSettings.GetExt(type), dark); var logoPath = BuildLogoFileName(type, partnerSettings.GetExt(type), dark);
return partnerStorage.IsFileAsync(logoPath).Result ? partnerStorage.GetUriAsync(logoPath).Result.ToString() : null; return (await partnerStorage.IsFileAsync(logoPath)) ? (await partnerStorage.GetUriAsync(logoPath)).ToString() : null;
} }
#endregion #endregion
@ -607,17 +607,17 @@ public class TenantWhiteLabelSettingsHelper
/// <summary> /// <summary>
/// Get logo stream or null in case of default whitelabel /// Get logo stream or null in case of default whitelabel
/// </summary> /// </summary>
public Stream GetWhitelabelLogoData(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark = false) public async Task<Stream> GetWhitelabelLogoData(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark = false)
{ {
if (tenantWhiteLabelSettings.GetIsDefault(type)) if (tenantWhiteLabelSettings.GetIsDefault(type))
{ {
return GetPartnerStorageLogoData(type, dark); return await GetPartnerStorageLogoData(type, dark);
} }
return GetStorageLogoData(tenantWhiteLabelSettings, type, dark); return await GetStorageLogoData(tenantWhiteLabelSettings, type, dark);
} }
private Stream GetStorageLogoData(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark) private async Task<Stream> GetStorageLogoData(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool dark)
{ {
var storage = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName); var storage = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName);
@ -628,10 +628,10 @@ public class TenantWhiteLabelSettingsHelper
var fileName = BuildLogoFileName(type, tenantWhiteLabelSettings.GetExt(type), dark); var fileName = BuildLogoFileName(type, tenantWhiteLabelSettings.GetExt(type), dark);
return storage.IsFileAsync(fileName).Result ? storage.GetReadStreamAsync(fileName).Result : null; return await storage.IsFileAsync(fileName) ? await storage.GetReadStreamAsync(fileName) : null;
} }
private Stream GetPartnerStorageLogoData(WhiteLabelLogoTypeEnum type, bool dark) private async Task<Stream> GetPartnerStorageLogoData(WhiteLabelLogoTypeEnum type, bool dark)
{ {
var partnerSettings = _settingsManager.LoadForDefaultTenant<TenantWhiteLabelSettings>(); var partnerSettings = _settingsManager.LoadForDefaultTenant<TenantWhiteLabelSettings>();
@ -649,7 +649,7 @@ public class TenantWhiteLabelSettingsHelper
var fileName = BuildLogoFileName(type, partnerSettings.GetExt(type), dark); var fileName = BuildLogoFileName(type, partnerSettings.GetExt(type), dark);
return partnerStorage.IsFileAsync(fileName).Result ? partnerStorage.GetReadStreamAsync(fileName).Result : null; return await partnerStorage.IsFileAsync(fileName) ? await partnerStorage.GetReadStreamAsync(fileName) : null;
} }
#endregion #endregion