using RazorEngine.Templating;
public class TemplateModel {
public string Name {get;set;}
public DateTime? Deadline{get;set;}
public PhoneAssetToReturn PhoneAssetToReturn{get;set;}
public Employee Employee{get;set;}
public class PhoneAssetToReturn {
public string Name {get;set;}
public DateTime? Deadline{get;set;}
public string DomainUsername {get;set;}
public static void Main()
string template = @"Proszę o potwierdzenie odbioru telefonu @Model.PhoneAssetToReturn.Name,
pracownika @Raw(@Model.Employee.FullName) @Model.Employee.DomainUsername,
numer seryjny @Model.PhoneAssetToReturn.ServiceTag,
model @Model.PhoneAssetToReturn.Model,
data zwrotu: @(Model.PhoneAssetToReturn.Deadline?.ToString(""yyyy-MM-dd"") ?? ""brak danych""),
lokalizacja - @Raw(@Model.Employee.Location)";
var result1 = Engine.Razor.RunCompile(template, "templateKey", null, new TemplateModel {
PhoneAssetToReturn = new PhoneAssetToReturn {
Employee = new Employee { DomainUsername= "domain name" }
Console.WriteLine(result1);