Hello,
The following is rough but is done so you can see one way to do this. In this case I'm using Entity Framework via LINQ/Lambda.
The class/project is here
Code done in a form, could be in a class
private async void button1_Click(object sender, EventArgs e)
{
string Template(CustomerItem item)
{
return $"<p>Hello {item.FirstName} {item.LastName}</p>" +
$"<p>We want to validate {item.Phone} is correct.</p>";
}
var results = await CustomersTestOperations.GetCustomersAsync();
StringBuilder builder = new StringBuilder();
foreach (var customerItem in results)
{
builder.AppendLine(Template((customerItem)));
builder.AppendLine("");
}
Console.WriteLine(builder.ToString());
}
Sample output
<p>Hello Lúcia Carvalho</p><p>We want to validate (11) 555-1189 is correct.</p>
<p>Hello Anabela Domingues</p><p>We want to validate (11) 555-2167 is correct.</p>
<p>Hello Paula Parente</p><p>We want to validate (14) 555-8122 is correct.</p>
Or here is a 2nd option with the first option still available
private async void button1_Click(object sender, EventArgs e)
{
string Template(CustomerItem item)
{
return $"<p>Hello {item.FirstName} {item.LastName}</p>" +
$"<p>We want to validate {item.Phone} is correct.</p>";
}
string Template1(CustomerItem item)
{
return $"<p>Hello #FirstName# #LastName#</p><p>We want to validate #Phone# is correct.</p>"
.Replace("#FirstName#", item.FirstName)
.Replace("#LastName#", item.LastName)
.Replace("#Phone#", item.Phone);
}
var results = await CustomersTestOperations.GetCustomersAsync();
StringBuilder builder = new StringBuilder();
foreach (var customerItem in results)
{
builder.AppendLine(Template1((customerItem)));
builder.AppendLine("");
}
Console.WriteLine(builder.ToString());
}
Either option I would do in a separate class.