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 : ComponentBase where T1 : EmailBase { public static string _css = ""; public static string GetCss() { if (_css == "") _css = File.ReadAllText("./NejCommon/Emails/wwwroot/output.css"); return _css; } [Parameter, EditorRequired] public T2 Data { get; set; } = default!; public static async Task GetHTML(T2 dat) { string html = new ComponentRenderer().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(); } } }