Files
Wino-Mail/Wino.Core.Domain/Models/Personalization/AppThemeBase.cs

30 lines
951 B
C#

using System;
using System.Threading.Tasks;
using Wino.Domain.Enums;
namespace Wino.Domain.Models.Personalization
{
/// <summary>
/// Base class for all app themes.
/// </summary>
public abstract class AppThemeBase
{
public Guid Id { get; set; }
public string ThemeName { get; set; }
public ApplicationElementTheme ForceElementTheme { get; set; }
public string AccentColor { get; set; }
public bool IsAccentColorAssigned => !string.IsNullOrEmpty(AccentColor);
public string BackgroundPreviewImage => GetBackgroundPreviewImagePath();
public abstract AppThemeType AppThemeType { get; }
protected AppThemeBase(string themeName, Guid id)
{
ThemeName = themeName;
Id = id;
}
public abstract Task<string> GetThemeResourceDictionaryContentAsync();
public abstract string GetBackgroundPreviewImagePath();
}
}