Exemplo n.º 1
0
        public CampaignMonitorRequest getRequestData(CampaignDocument campaign, List <CampaignSettingDocument> settings)
        {
            CampaignMonitorRequest request = FillSendinBlueRequestFromCosmos(settings);

            request.Name = campaign.Name;
            request.Text = campaign.Text;
            return(request);
        }
Exemplo n.º 2
0
        public string SendCampaign(CampaignMonitorRequest request)
        {
            string Id = string.Empty;

            try
            {
                AuthenticationDetails auth    = new ApiKeyAuthenticationDetails(request.ApiKey);
                List <string>         listIDs = new List <string> {
                    request.ListId
                };
                List <string> segmentIDs = new List <string> {
                    request.SegmentIDs
                };

                TemplateContent templateContent = new TemplateContent();

                string campaignID = createsend_dotnet.Campaign.CreateFromTemplate(
                    auth,
                    request.ClientID,
                    request.Subject,
                    request.Name,
                    request.FromName + "-" + DateTime.Now.ToString("MMddyyyyhhmm"),
                    request.FromEmail,
                    request.FromEmail,
                    listIDs,
                    segmentIDs,
                    CreateTemplateFromCosmosDocument(auth, request.ClientID, request.campaign),
                    templateContent);

                createsend_dotnet.Campaign campaignMonitorCampaign = new createsend_dotnet.Campaign(auth, campaignID);
                campaignMonitorCampaign.Send(request.FromEmail);
                Id = campaignID;
            }
            catch (Exception e)
            {
                var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }
            return(Id);
        }
Exemplo n.º 3
0
        public CampaignMonitorRequest FillSendinBlueRequestFromCosmos(List <CampaignSettingDocument> campaignSettings)
        {
            CampaignMonitorRequest request = new CampaignMonitorRequest();

            //todo
            try
            {
                // from products
                if (this.settings.Count > 0)
                {
                    foreach (var item in settings)
                    {
                        switch (item.Name)
                        {
                        case "campaignMonitorApiToken":
                        {
                            request.ApiKey = item.Name.Equals("campaignMonitorApiToken") ? item.Value : string.Empty;
                        }
                        break;

                        case "campaignMonitorList":
                        {
                            request.ListId = item.Name.Equals("campaignMonitorList") ? item.Value : string.Empty;
                        }
                        break;

                        case "campaignMonitorClient":
                        {
                            request.ClientID = item.Name.Equals("campaignMonitorClient") ? item.Value : string.Empty;
                        }
                        break;

                        case "campaignMonitorSegment":
                        {
                            request.SegmentIDs = item.Name.Equals("campaignMonitorSegment") ? item.Value : string.Empty;
                        }
                        break;
                        }
                    }
                }

                // from campaigns
                if (campaignSettings.Count > 0)
                {
                    foreach (var setting in campaignSettings)
                    {
                        switch (setting.Name)
                        {
                        case "campaignMonitorSubject":
                        {
                            request.Subject = setting.Name.Equals("campaignMonitorSubject") ? setting.Value : string.Empty;
                        }
                        break;

                        case "campaignMonitorFromName":
                        {
                            request.Subject = setting.Name.Equals("campaignMonitorFromName") ? setting.Value : string.Empty;
                        }
                        break;

                        case "campaignMonitorFromEmail":
                        {
                            request.Subject = setting.Name.Equals("campaignMonitorFromEmail") ? setting.Value : string.Empty;
                        }
                        break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                string exceptionMessage = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(exceptionMessage);
            }
            return(request);
        }