Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading.Tasks;
- namespace RazorTest
- {
- class Program
- {
- static void Main(string[] args)
- {
- Task.Run(async () =>
- {
- var order = new Order()
- {
- Id = 1,
- Total = 5150
- };
- string email = await Generate(order);
- Console.WriteLine(email);
- }).Wait();
- Console.WriteLine("press enter to exit");
- Console.ReadLine();
- }
- static string template =
- @"
- @model RazorTest.Order
- @Model.Id @Model.Total
- ";
- static async Task<string> Generate(Order order)
- {
- // First create engine
- var engine = new RazorLight.RazorLightEngineBuilder()
- .UseMemoryCachingProvider()
- .Build();
- // Try to find template.
- var found = engine.TemplateCache.RetrieveTemplate("TEMPLATE_KEY");
- if (found.Success)
- {
- // If template exists render template
- return await engine.RenderTemplateAsync(found.Template.TemplatePageFactory(), order);
- }
- // Compile and generate template
- return await engine.CompileRenderAsync("TEMPLATE_KEY",
- template, order);
- }
- }
- public class Order
- {
- public int Id { get; set; }
- public decimal Total { get; set; }
- }
- }
Add Comment
Please, Sign In to add comment