protected virtual string CreateEmailBody(bool isHtml)
{
var emailText = "";
var c = Content.Create(this);
var first = true;
Attachments = new List<Attachment>();
foreach (var f in c.Fields.Select(kvp => kvp.Value).Where(f => f.Name.StartsWith("#")))
{
var bf = f as BinaryField;
if (bf != null)
{
var bd = bf.GetData() as BinaryData;
if (bd != null)
{
try
{
var fs = bd.GetStream();
if (fs != null)
{
var fn = System.IO.Path.GetFileName(bd.FileName);
if (string.IsNullOrEmpty(fn))
fn = string.Format("{0}-{1}", this.Name, f.Name.Replace("#", "-"));
Attachments.Add(new Attachment(fs, fn, bd.ContentType));
}
}
catch (Exception ex)
{
Logger.WriteException(ex);
}
}
continue;
}
if (first)
first = false;
else
emailText = isHtml ? string.Concat(emailText, "<br/>") : string.Concat(emailText, "\n\r\n");
emailText = string.Concat(emailText, f.DisplayName, ": ");
emailText = f.FieldSetting.Bindings.Aggregate(emailText, (current, b) => string.Concat(current, Convert.ToString(this[b])));
}
return emailText;
}