using BuddyFinance.Integration; using BuddyFinance.Integration.Models.Enums; using BuddyFinance.Model; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; namespace BuddyFinance.BillingArrears { public class Program { public static void Main(string[] args) { using (var db = new BuddyFinanceDBEntities()) { Console.WriteLine("Billing arrears reminder started at " + DateTime.Now); var _notifications = new NotificationsIntegrator(); foreach (var profile in db.Profiles.Where(m => m.StatusId == (int)ProfileStatusEnum.Approved).ToList()) { if (profile.Lender != null && profile.AvailableFunds < 0) { // send email here var mailDetails = new Dictionary { { "[names]", $"{profile.Name} {profile.Surname}" }, //{ "[reference]", $"{loanoffer.Id}"}, { "[amount]", $"{profile.AvailableFunds.ToString("C2")}"} }; var templateText = System.IO.File.ReadAllText(ConfigurationManager.AppSettings["TemplatesPath"] + NotificationTempate.AccountArrears.ToString() + ".txt"); var emailBody = mailDetails.Aggregate(templateText, (item, m) => item.Replace(m.Key, m.Value)); _notifications.SendEmail(profile.EmailAddress, emailBody, "", null); Console.WriteLine("Email sent to lender with profile" + profile.ProfileNumber); } } } } } }