public MailJetCampaignRequest getRequestData(CampaignDocument campaign, List <CampaignSettingDocument> settings) { MailJetCampaignRequest request = FillSendinBlueRequestFromCosmos(settings); request.Name = campaign.Name; request.Text = campaign.Text; return(request); }
public string SendCampaign(MailJetCampaignRequest requestData) { string Id = string.Empty; try { MailjetClient client = new MailjetClient(requestData.ApiKey, requestData.SecretKey); var sender = GetSender(client); MailjetRequest request = new MailjetRequest { Resource = Campaigndraft.Resource, } .Property(Campaigndraft.Locale, "en_US") .Property(Campaigndraft.Sender, GetMyProfile(client).CompanyName) .Property(Campaigndraft.SenderEmail, sender.Email) .Property(Campaigndraft.Subject, requestData.Subject) .Property("ContactsListID", requestData.ListId) .Property(Campaigndraft.Title, requestData.Name) //campaign .Property("SegmentationID", requestData.SegmentId); MailjetResponse response = Task.Run(() => client.PostAsync(request)).Result; if (response.IsSuccessStatusCode) { List <MailJetCampaign> listCampaigncampaign = JsonConvert.DeserializeObject <List <MailJetCampaign> >(response.GetData().ToString()); var campaignMailJet = listCampaigncampaign.FirstOrDefault(); bool actionAddBody = AddBody(client, Convert.ToInt64(campaignMailJet.Id), requestData.Text); // campaign bool actionSendCampaign = SendCampaign(client, Convert.ToInt64(campaignMailJet.Id)); return(actionAddBody && actionSendCampaign ? campaignMailJet.Id : null); } else { telemetria.Critical(string.Format("StatusCode: {0}\n", response.StatusCode) + " " + string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()) + " " + string.Format("ErrorMessage: {0}\n", response.GetErrorMessage())); } } catch (Exception ex) { var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } return(Id); }
public MailJetCampaignRequest FillSendinBlueRequestFromCosmos(List <CampaignSettingDocument> campaignSettings) { MailJetCampaignRequest request = new MailJetCampaignRequest(); //todo try { // from products if (this.settings.Count > 0) { foreach (var item in settings) { switch (item.Name) { case "mailJetApiKey": { request.ApiKey = item.Name.Equals("mailJetApiKey") ? item.Value : string.Empty; } break; case "mailJetSecretKey": { request.SecretKey = item.Name.Equals("mailJetSecretKey") ? item.Value : string.Empty; } break; case "mailJetList": { request.ListId = item.Name.Equals("mailJetList") ? item.Value : string.Empty; } break; case "mailJetSegment": { request.SegmentId = item.Name.Equals("mailJetSegment") ? item.Value : string.Empty; } break; } } } // from campaigns if (campaignSettings.Count > 0) { foreach (var setting in campaignSettings) { switch (setting.Name) { case "mailJetSubject": { request.Subject = setting.Name.Equals("mailJetSubject") ? setting.Value : string.Empty; } break; } } } } catch (Exception e) { string exceptionMessage = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(exceptionMessage); } return(request); }