예제 #1
0
        private string GetTemplate(BulkEmail bulkEmail, IMessageInfo messageInfo, List <image> messageImages,
                                   MarketingMacrosHelper macrosHelper)
        {
            string templateBodyWithMacros = macrosHelper.SetTemplateBody(bulkEmail.TemplateBody,
                                                                         bulkEmail.OwnerId, bulkEmail.Id, messageInfo.ApplicationUrl);
            string templateCode = InlineimagesProcessing(templateBodyWithMacros, messageImages, messageInfo.ApplicationUrl);

            if (string.IsNullOrEmpty(templateCode))
            {
                return(string.Empty);
            }
            templateCode = UtmHelper.GetTemplateCodeWithUtmLabel(bulkEmail.ConvertToUtmData(templateCode),
                                                                 messageInfo.MessageRId, macrosHelper.UnsubscribeMacrosAliases);
            int templateSize = MandrillUtilities.GetTemplateSize(templateCode, messageImages);

            return(templateSize > MandrillMaxTemplateSize ? string.Empty : templateCode);
        }
예제 #2
0
        private rcpt_merge_var GetContactPersonalMacroses(Dictionary <int, string> macrosColumnsIndex, string address,
                                                          IDataReader reader, MarketingMacrosHelper macrosHelper)
        {
            var rcptMergeVar = new rcpt_merge_var();

            if (macrosColumnsIndex.Count <= 0)
            {
                return(rcptMergeVar);
            }
            rcptMergeVar.rcpt = address;
            foreach (var macros in macrosColumnsIndex)
            {
                rcptMergeVar.vars.Add(new merge_var()
                {
                    name    = macros.Value,
                    content = (reader[macros.Key] == System.DBNull.Value)
                                                ? string.Empty
                                                : reader[macros.Key].ToString()
                });
            }
            return(rcptMergeVar);
        }