using System.Collections.Generic;
using RazorEngine.Templating;
public static void Main()
Please execute the following contracts for the client @Model.ClientName
Value date : @Model.ValueDate
@foreach (var deal in Model.Deals)
@deal.LegType @deal.IsBuying @deal.QuantitySelected @deal.Ccy1 @deal.ContractRate
var concreteModel = (ContractDetails)Model;
@if (concreteModel.Deals.Count > 1)
For a total of : @concreteModel.Deals.Sum(d => d.QuantitySelected) @concreteModel.Deals.First().Ccy1
""ClientName"": ""Acme Corp"",
""CurrencyPair"": ""USD/CAD"",
""ValueDate"": ""2023-12-31"",
""QuantitySelected"": 100000,
""ContractRate"": ""1.35""
""QuantitySelected"": 100000,
""ContractRate"": ""1.35""
var model = JsonSerializer.Deserialize<ContractDetails>(jsonString);
var service = RazorEngineService.Create();
var emailBody = service.RunCompile(template, "templateKey", null, model);
Console.WriteLine(emailBody);
public string LegType { get; set; }
public string IsBuying { get; set; }
public int QuantitySelected { get; set; }
public string Ccy1 { get; set; }
public string ContractRate { get; set; }
public class ContractDetails
public string ClientName { get; set; }
public string CurrencyPair { get; set; }
public string ValueDate { get; set; }
public List<Deal> Deals { get; set; }