Beispiel #1
0
        public GetResponseCampaignRequest getRequestData(CampaignDocument campaign, List <CampaignSettingDocument> settings)
        {
            GetResponseCampaignRequest request = FillSendinBlueRequestFromCosmos(settings);

            request.Name = campaign.Name;
            request.Text = campaign.Text;
            return(request);
        }
        public CampaignDocument GetCampaignDocument(string emailProductId)
        {
            CampaignDocument     campaign     = new CampaignDocument();
            EmailProductDocument emailProduct = GetEmailProduct(emailProductId);

            campaign = GetCampaign(emailProduct.AudiencePropertieId);
            return(campaign);
        }
Beispiel #3
0
        public PushEngageCampaignRequest getRequestData(CampaignDocument campaign)
        {
            PushEngageCampaignRequest request = FillSendinBlueRequestFromCosmos();

            request.Text = campaign.Text;
            request.Name = campaign.Name;
            return(request);
        }
Beispiel #4
0
        public SubscribersCampaignRequest getRequestData(CampaignDocument campaign)
        {
            SubscribersCampaignRequest request = FillSendinBlueRequestFromCosmos();

            request.Text = campaign.Text;
            request.Name = campaign.Name;
            return(request);
        }
Beispiel #5
0
        // nueva funcionalidad
        public SendGridCampaignRequest getRequestData(CampaignDocument campaign, List <CampaignSettingDocument> campaignSettings)
        {
            SendGridCampaignRequest request = FillSendinBlueRequestFromCosmos(campaignSettings);

            request.Text = campaign.Text;
            request.Name = campaign.Name;
            return(request);
        }
        public CampaignDocument GetCampaign(string audiencePropertieId)
        {
            CampaignDocument campaign       = new CampaignDocument();
            string           collectionName = CosmosCollections.Campaign.ToString();
            string           query          = $"SELECT * FROM {collectionName} WHERE {collectionName}.AudiencePropertieId='{audiencePropertieId}'";

            campaign = context.ExecuteQuery <CampaignDocument>(databaseName, collectionName, query).FirstOrDefault();
            return(campaign);
        }
Beispiel #7
0
        public SendinBlueCampaignRequest getRequestData(CampaignDocument campaign)
        {
            SendinBlueCampaignRequest request = FillSendinBlueRequestFromCosmos();

            request.Subject     = campaign.Name;
            request.HtmlContent = campaign.Text;
            request.Schedule    = campaign.StartDate == null ? DateTime.Now : CheckStartDate(Convert.ToDateTime(campaign.StartDate));
            request.Name        = campaign.Name;
            return(request);
        }
 private string GenerateTemplateCampaignMonitorFromCosmosDocument(CampaignDocument campaign)
 {
     System.Text.StringBuilder sb = new System.Text.StringBuilder();
     try
     {
         sb.Append("<html><head><title>").Append(campaign.Name).Append("</title></head>");
         sb.Append("<body><p><singleline>").Append(campaign.Name).Append("</singleline></p>");
         sb.Append("<div><multiline>").Append(campaign.Text).Append("</multiline></div>");
         sb.Append("<p><unsubscribe>Unsubscribe</unsubscribe></p></body></html>");
     }
     catch (Exception e)
     {
         var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
         telemetria.Critical(messageException);
     }
     return(sb.ToString());
 }
        public string Send(string pushProductId)
        {
            string apiCampaignId = string.Empty;

            if (settings.Count > 0)
            {
                //no obtenemos los datos de bd
                manager.settings = this.settings;
                CampaignDocument campaign = GetCampaignDocument(pushProductId);
                IList <CampaignSettingDocument> campaignSettings = GetCampaignSetting(campaign.Id);
                manager.campaignSettings = campaignSettings;
                var request = manager.getRequestData(campaign);

                apiCampaignId = manager.SendCampaign(request);

                // update campaign
                if (apiCampaignId != string.Empty)
                {
                    campaign.ApiCampaignId = apiCampaignId;
                    collectionName         = CosmosCollections.Campaign.ToString();
                    context.AddDocument <CampaignDocument>(databaseName, collectionName, campaign);
                }
            }
            else
            {
                LoadSettings(pushProductId);
                manager.settings = this.settings;
                CampaignDocument campaign = GetCampaignDocument(pushProductId);
                IList <CampaignSettingDocument> campaignSettings = GetCampaignSetting(campaign.Id);
                manager.campaignSettings = campaignSettings;
                var request = manager.getRequestData(campaign);
                apiCampaignId = manager.SendCampaign(request);

                // update campaign
                if (apiCampaignId != string.Empty)
                {
                    campaign.ApiCampaignId = apiCampaignId;
                    collectionName         = CosmosCollections.Campaign.ToString();
                    context.AddDocument <CampaignDocument>(databaseName, collectionName, campaign);
                }
            }
            return(apiCampaignId);
        }
        public bool SettingsAreValid(string emailProductId)
        {
            bool result = false;

            if (settings.Count > 0)
            {
                manager.settings = this.settings;
                CampaignDocument campaign = GetCampaignDocument(emailProductId);
                IList <CampaignSettingDocument> campaignSettings = GetCampaignSetting(campaign.Id);
                manager.campaignSettings = campaignSettings;
                result = manager.SettingsAreValid();
                result = true;
            }
            else
            {
                LoadSettings(emailProductId);
                manager.settings = this.settings;
                CampaignDocument campaign = GetCampaignDocument(emailProductId);
                IList <CampaignSettingDocument> campaignSettings = GetCampaignSetting(campaign.Id);
                manager.campaignSettings = campaignSettings;
                result = manager.SettingsAreValid();
            }
            return(result);
        }
Beispiel #11
0
 /// <summary>
 /// Deletes the campaign document.
 /// </summary>
 /// <param name="campDoc">The camp document.</param>
 /// <returns></returns>
 /// <exception cref="NotImplementedException"></exception>
 public int DeleteCampaignDocument(CampaignDocument campDoc)
 {
     throw new NotImplementedException();
 }
        private string CreateTemplateFromCosmosDocument(AuthenticationDetails auth, string clientID, CampaignDocument campaign)
        {
            string template = string.Empty;

            try
            {
                var htmlText   = WebUtility.HtmlDecode(GenerateTemplateCampaignMonitorFromCosmosDocument(campaign));
                var templateID = BlobManager.CreateHtmlTemplateAzure(htmlText);
                template = Template.Create(auth, clientID, "TEMPLATE " + campaign.Name, templateID, "");
            }
            catch (Exception e)
            {
                var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }
            return(template);
        }
Beispiel #13
0
 public int CreateCampaignDocument(CampaignDocument campDoc)
 {
     return(_campDocRepo.CreateCampaignDocument(campDoc));
 }
Beispiel #14
0
 /// <summary>
 /// Inserts the or update campaign document.
 /// </summary>
 /// <param name="campDoc">The camp document.</param>
 /// <returns></returns>
 public int InsertOrUpdateCampaignDoc(CampaignDocument campDoc)
 {
     return(_repositoryFactory.GetCampaignDocumentRepository.InsertOrUpdateCampaignDocument(campDoc));
 }
Beispiel #15
0
 public int DeleteCampaignDocument(CampaignDocument campDoc)
 {
     return(_campDocRepo.DeleteCampaignDocument(campDoc));
 }
Beispiel #16
0
 /// <summary>
 /// Updates the campaign document.
 /// </summary>
 /// <param name="campDoc">The camp document.</param>
 /// <returns></returns>
 public int UpdateCampaignDocument(CampaignDocument campDoc)
 {
     return(InsertOrUpdate(campDoc));
 }
Beispiel #17
0
 public int UpdateCampaignDocument(CampaignDocument campDoc)
 {
     return(_campDocRepo.UpdateCampaignDocument(campDoc));
 }
Beispiel #18
0
 public CampaignViewModel()
 {
     campaign      = new CampaignDocument();
     listQuestions = new List <PublisherPreferenceQuestionDocument>();
 }