public MailChimpCampaignRequest getRequestData(CampaignDocument campaign, List <CampaignSettingDocument> settings) { MailChimpCampaignRequest request = FillSendinBlueRequestFromCosmos(settings); request.Name = campaign.Name; request.Text = campaign.Text; return(request); }
public string SendCampaign(MailChimpCampaignRequest request) { string Id = string.Empty; try { CampaignCreateOptions cco = new CampaignCreateOptions() { ListId = request.ListId, Title = request.Name, Subject = request.Subject, FromEmail = request.FromEmail, FromName = request.FromName }; Dictionary <string, string> sections = new Dictionary <string, string>(); CampaignCreateContent ccc = new CampaignCreateContent() { Sections = sections, HTML = request.Text }; IMailChimpManager mailChimpManager = new MailChimp.MailChimpManager(request.ApiKey); var campaignMailChimp = mailChimpManager.CreateCampaign("regular", cco, ccc, null, null); if (!String.IsNullOrEmpty(campaignMailChimp.Id)) { var resultSendCampaign = mailChimpManager.SendCampaign(campaignMailChimp.Id); Id = resultSendCampaign.Complete ? campaignMailChimp.Id : string.Empty; } } catch (Exception e) { var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } return(Id); }
public MailChimpCampaignRequest FillSendinBlueRequestFromCosmos(List <CampaignSettingDocument> campaignSettings) { MailChimpCampaignRequest request = new MailChimpCampaignRequest(); if (this.settings.Count > 0) { foreach (var item in settings) { switch (item.Name) { case "mailChimpApiToken": { request.ApiKey = item.Name.Equals("mailChimpApiToken") ? item.Value : string.Empty; } break; case "mailChimpList": { request.ListId = item.Name.Equals("mailChimpList") ? item.Value : string.Empty; } break; case "mailChimpTemplate": { request.TemplateId = item.Name.Equals("mailChimpTemplate") ? item.Value : string.Empty; } break; } } } // from campaigns if (campaignSettings.Count > 0) { foreach (var setting in campaignSettings) { switch (setting.Name) { case "mailChimpSubject": { request.Subject = setting.Name.Equals("mailChimpSubject") ? setting.Value : string.Empty; } break; case "mailChimpFromName": { request.FromName = setting.Name.Equals("mailChimpFromName") ? setting.Value : string.Empty; } break; case "mailChimpFromEmail": { request.FromEmail = setting.Name.Equals("mailChimpFromEmail") ? setting.Value : string.Empty; } break; } } } return(request); }