Esempio n. 1
0
        public void Should_be_able_to_use_project_layout_with_viewbag()
        {
            var projectRoot = Directory.GetCurrentDirectory();
            var engine      = RazorLightEngineFactory.Create(projectRoot);

            Email.DefaultRenderer = new RazorRenderer(engine);

            string template = @"
@{
	Layout = ""./Shared/_Layout.cshtml"";
}
sup @Model.Name here is a list @foreach(var i in Model.Numbers) { @i }";

            dynamic viewBag = new ExpandoObject();

            viewBag.Title = "Hello!";
            var email = new Email(fromEmail)
                        .To(toEmail)
                        .Subject(subject)
                        .UsingTemplate(template, new ViewModelWithViewBag {
                Name = "LUKE", Numbers = new[] { "1", "2", "3" }, ViewBag = viewBag
            });

            Assert.AreEqual("<h1>Hello!</h1>\r\n<div>\r\nsup LUKE here is a list 123</div>", email.Data.Body);
        }
Esempio n. 2
0
        public void SetUp()
        {
            var engine = RazorLightEngineFactory.Create();

            Email.DefaultRenderer = new RazorRenderer(engine);
        }
Esempio n. 3
0
 /// <summary>
 /// Add razor renderer with a RazorLightProject to support views and layouts
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="razorLightProject"></param>
 /// <returns></returns>
 public static FluentEmailServicesBuilder AddRazorRenderer(this FluentEmailServicesBuilder builder, RazorLightProject razorLightProject)
 {
     builder.Services.AddRazorLight(() => RazorLightEngineFactory.Create(razorLightProject));
     builder.Services.AddSingleton <ITemplateRenderer, RazorRenderer>();
     return(builder);
 }
Esempio n. 4
0
 /// <summary>
 /// Add razor renderer with embedded views and layouts
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="embeddedResourceRootType"></param>
 /// <returns></returns>
 public static FluentEmailServicesBuilder AddRazorRenderer(this FluentEmailServicesBuilder builder, Type embeddedResourceRootType)
 {
     builder.Services.AddRazorLight(() => RazorLightEngineFactory.Create(embeddedResourceRootType));
     builder.Services.AddSingleton <ITemplateRenderer, RazorRenderer>();
     return(builder);
 }