Визуализация Razor View в строку с помощью консольного приложения .Net Core - PullRequest
0 голосов
/ 28 декабря 2018

Я подготовил консольное приложение ядра .net (версия Framework .Net Core 2.2) для отправки электронной почты в качестве службы.Прямо сейчас он работает совершенно нормально, статический html контент жестко закодирован в сервисный метод для генерации строки тела письма.Я в поисках кода, который предоставляет мне решение для визуализации бритвы, чтобы получить строку html с данными модели.

Попытка реализовать DLL RazorEngine в платформе сущностей ver.4,5.с кодом ниже

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GenerateEmailUsingRazor.Model;
using RazorEngine.Templating;

namespace GenerateEmailUsingRazor
{
    class Program
    {
        static readonly string TemplateFolderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "EmailTemplates");

        static void Main(string[] args)
        {
            var model = GetUserDetail();


            var emailTemplatePath = Path.Combine(TemplateFolderPath, "InviteEmailTemplate.cshtml");

            var templateService = new TemplateService();
            var emailHtmlBody = templateService.Parse(File.ReadAllText(emailTemplatePath), model, null, null);


            Console.WriteLine(emailHtmlBody);

            Console.ReadLine();

        }

        private static UserDetail GetUserDetail()
        {
            var model = new UserDetail()
                            {
                                Id = 1,
                                Name = "Test User",
                                Address = "Dummy Address"
                            };


            for (int i = 1; i <= 10; i++)
            {
                model.PurchasedItems.Add("Item No " + i);
            }
            return model;
        }
    }
}

Ожидаемый результат:

Консольное приложение должно отобразить бритву и предоставить мне результирующую строку html.

...