using BusinessLogic.Entities; using BusinessLogic.Enums; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Net.Mail; namespace BusinessLogic.Classes.Smtp.Emails { public class DuplicateTransactionEmail : BaseEmail { private const string EmailRecipientSettingKey = "DuplicateTransaction.Email.Recipient"; public override EmailTypeEnum EmailType { get { return EmailTypeEnum.DuplicateTransaction; } } public DuplicateTransactionEmail(List processedTransactions) : base(processedTransactions.First().InternalReference) { var recipient = ConfigurationManager.AppSettings[EmailRecipientSettingKey]; if (string.IsNullOrEmpty(recipient)) throw new NullReferenceException(string.Format("{0} is missing from the web.config", EmailRecipientSettingKey)); Email.To.Add(new MailAddress(recipient)); Email.Subject = "Income Management - Duplicate Transaction Warning"; Email.IsBodyHtml = true; Email.Body = BuildBody(processedTransactions); } private string BuildBody(List transactions) { return string.Format(@"

IMS Duplicate Transaction Warning

Internal Reference: {0}
Amount: {1}
", transactions.First().InternalReference, transactions.Sum(x => x.Amount)); } } }