NejCommon.NET/Emails/EmailBase.cs
honzapatCZ ebee356321 Merge branch 'master' of https://git.nejcraft.cz/Nejcraft/NejCommon.NET
# Conflicts:
#	Controllers/AutoController.cs
2024-09-15 20:10:54 +02:00

38 lines
1.0 KiB
C#

using BlazorTemplater;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Mvc;
using NejCommon.Services.Email;
using System.Runtime.CompilerServices;
namespace NejCommon.Emails
{
public abstract class EmailBase<T1, T2> : ComponentBase where T1 : EmailBase<T1, T2>
{
public static string _css = "";
public static string GetCss()
{
if (_css == "")
_css = File.ReadAllText(Path.Join(AppContext.BaseDirectory, "NejCommon/Emails/wwwroot/output.css"));
return _css;
}
[Parameter, EditorRequired]
public T2 Data { get; set; } = default!;
public static async Task<string> GetHTML(T2 dat)
{
string html = new ComponentRenderer<T1>().Set(x => x.Data, dat).Render();
var result = PreMailer.Net.PreMailer.MoveCssInline(html, css: GetCss());
return result.Html;
}
public virtual string GetSubject()
{
return "DEV: " + this.ToString();
}
}
}