/// <summary> /// Prepare the notification file content based on RenewalNotificationModel data using provided file template. /// </summary> /// <param name="fileTemplate">File template as string</param> /// <param name="notificationData">Data to write</param> /// <returns>Formatted notification letter text</returns> private string CreateNotificationFileContent(string fileTemplate, RenewalNotificationModel notificationData) { string fileData = string.Empty; var parameters = new Dictionary <string, object>(); parameters.Add("@DateVal", DateTime.Now.ToString("dd/MM/yyyy")); parameters.Add("@FullName", notificationData.FullName); parameters.Add("@Title", notificationData.Title); parameters.Add("@Surname", notificationData.SurName); parameters.Add("@ProductName", notificationData.ProductName); parameters.Add("@PayoutAmount", notificationData.PayoutAmount); parameters.Add("@AnnualPremium", notificationData.AnnualPremium); parameters.Add("@CreditCharge", notificationData.CreditCharge); parameters.Add("@TotCreditCharge", notificationData.TotalPremium); parameters.Add("@InitMonthlyPayAmt", notificationData.InitialMonthlyPayAmount); parameters.Add("@OthMonthlyPayAmt", notificationData.OtherMonthlyPayAmount); try { fileData = parameters.Aggregate(fileTemplate, (current, parameter) => current.Replace(parameter.Key, parameter.Value.ToString())); } catch (Exception ex) { LogHelper.LogException("CustomerNotificationService.CreateNotificationFileContent: File Content generation failed", ex); throw new TechnicalExceptions("Customer notification file Content Creation failed."); } return(fileData); }
/// <summary> /// Generate file name for notification letter based on FirstName and Customer Id /// File Name Template config /// </summary> /// <param name="renewalNotifDetails">Renewal Notification Model</param> /// <returns>Notification file name</returns> private string GenerateRenewalNotificationLetterFileName(RenewalNotificationModel renewalNotifDetails) { if (renewalNotifDetails.CustomerId <= 0 || string.IsNullOrEmpty(renewalNotifDetails?.FirstName)) { LogHelper.LogException("CustomerNotificationService.GenerateRenewalNotificationLetterFileName: CustomerId and FirstName required to generate file name."); throw new TechnicalExceptions("CustomerNotificationService.GenerateRenewalNotificationLetterFileName: CustomerId and FirstName required to generate file name."); } else { var fileNameTemp = ConfigHelper.GetConfigValue("NotifFileNameTemplate"); var fileName = string.Format(fileNameTemp, renewalNotifDetails.FirstName, renewalNotifDetails.CustomerId); return(fileName); } }