Aethel.Services.Trazor
1.0.0
dotnet add package Aethel.Services.Trazor --version 1.0.0
NuGet\Install-Package Aethel.Services.Trazor -Version 1.0.0
<PackageReference Include="Aethel.Services.Trazor" Version="1.0.0" />
paket add Aethel.Services.Trazor --version 1.0.0
#r "nuget: Aethel.Services.Trazor, 1.0.0"
// Install Aethel.Services.Trazor as a Cake Addin #addin nuget:?package=Aethel.Services.Trazor&version=1.0.0 // Install Aethel.Services.Trazor as a Cake Tool #tool nuget:?package=Aethel.Services.Trazor&version=1.0.0
Trazor
Version inicial
Constructor de plantillas para correo basado en la arquitectura mvc, utilizando el motor de renderizado de Razor que permite diseñar correos como aplicaciones web, permitiendo compartir estilos, crear componentes reutilizables y dividir en componentes. Ademas, permite mantener todas tus plantillas en una libreria de clases diferente a la del proyecto principal, permitiendo compartir el servicio de renderizado. Cuenta ademas con las propiedades de Razor para la generacion dinamica de plantillas a traves de modelos de vista
Features
- Generacion de plantillas de correo basados en la arquitectura MVC de razor
- Permite tener estilos compartidos para tus correos
- Permite agilizar la creacion de correos sin preocuparte por el diseño
- Permite crear componentes reutilizables
Configuracion
Para integrar Trazor y habilitarlo como el servicio de plantillas solo necesitas dos cosas. Primero, necesitas generar un proyecto de clases donde vas a colocar tus templates y tus templateModels, en una estrcutura de carpeta similar a la siguiente:
Con esta estructura ahora podemos configurar Trazor. Dentro de tu archivo startup, basta con agregar el metodo de extension como sigue y configurar las siguientes propiedades:
public class Startup(){
// Configurations
services.AddTrazor(opts => {
opts.TemplateAssembly = typeof(Greeting).Assembly;
opts.TemplateLocation = "Templates";
});
// More configurations
}
La propiedad TemplateAssembly debe de hacer referencia a alguna clase que este dentro de tu biblioteca de clases donde se encuentran tus correos y plantillas. La propiedad TemplateLocation te permite sobreescribir el nommbre de la carpeta de templates al nombre que prefieras. Despues de configurar Trazor, en donde necesites utilizar la libreria solo debes de inyectar la clase de fabrica como se muestra:
public class SomeClass{
private readonly ITemplateService _templateService;
public SomeClass(ITemplateFactory templateFactory){
_templateService = templateFactory.GetTemplateService();
}
}
De esta forma ya tenemos acceso a todas nuestras plantillas disponibles. Para llamar a las plantillas tenemos la siguiente opcion:
string content = await _templateService.GetTemplateContent(new TrazorSelector{
Module = "IdentityManagement",
Template = "WelcomeToKazam"
}, new SomeModel{
Name = "Trazor",
Lastname = "Template"
})
TrazorSelector es una clase DTO que permite definir el modulo, en este caso una carpeta dentro de Templates y Template, que es el nombre del template a cargar. SomeModel hace referencia a cualquier modelo que tu vista necesite para renderizar. Con esto tu vista se debe generar sin ningun problema y tendras acceso a la potencia de Razor para tus correos electronicos
Versiones y fechas de lanzamiento
Version | Fecha de lanzamiento | Features | Status |
---|---|---|---|
1.0.0 | Mar 2020 | Ubicacion del ensamblado donde estan las vistas y nombre de la carpeta que contiene la estrcutura de templates para renderizar | Liberada |
License
MIT
If it works, learn how it do
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Microsoft.AspNetCore.Mvc.Razor (>= 2.2.0)
- Microsoft.Extensions.Logging (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 1,130 | 3/15/2022 |
Ubicacion del ensamblado donde estan las vistas y nombre de la carpeta que contiene la estrcutura de templates para renderizar