Guest User

Untitled

a guest
Jul 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. using System;
  2. using System.Threading.Tasks;
  3.  
  4. namespace RazorTest
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10.  
  11. Task.Run(async () =>
  12. {
  13. var order = new Order()
  14. {
  15. Id = 1,
  16. Total = 5150
  17. };
  18. string email = await Generate(order);
  19.  
  20. Console.WriteLine(email);
  21. }).Wait();
  22.  
  23. Console.WriteLine("press enter to exit");
  24. Console.ReadLine();
  25. }
  26.  
  27. static string template =
  28. @"
  29. @model RazorTest.Order
  30. @Model.Id @Model.Total
  31. ";
  32.  
  33. static async Task<string> Generate(Order order)
  34. {
  35. // First create engine
  36. var engine = new RazorLight.RazorLightEngineBuilder()
  37. .UseMemoryCachingProvider()
  38. .Build();
  39.  
  40. // Try to find template.
  41. var found = engine.TemplateCache.RetrieveTemplate("TEMPLATE_KEY");
  42. if (found.Success)
  43. {
  44. // If template exists render template
  45. return await engine.RenderTemplateAsync(found.Template.TemplatePageFactory(), order);
  46. }
  47.  
  48. // Compile and generate template
  49. return await engine.CompileRenderAsync("TEMPLATE_KEY",
  50. template, order);
  51. }
  52. }
  53.  
  54. public class Order
  55. {
  56. public int Id { get; set; }
  57. public decimal Total { get; set; }
  58. }
  59. }
Add Comment
Please, Sign In to add comment