コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <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);
     }
 }