public MailView Render(object mailModel)
{
string subject = null;
string templateClassName = mailModel.GetType().Name;
var context = new RenderContext();
do
{
RazorMailTemplateBase template = _templatesFactory.Create(templateClassName);
template.SetContext(context);
template.SetModel(mailModel);
template.Execute();
if (string.IsNullOrEmpty(subject))
{
subject = template.Subject;
}
context.Flush();
templateClassName = template.Layout; // take next
} while (string.IsNullOrEmpty(templateClassName) == false);
string body = context.RenderBody();
return new MailView(subject, body);
}