public PushEngageCampaignRequest getRequestData(CampaignDocument campaign) { PushEngageCampaignRequest request = FillSendinBlueRequestFromCosmos(); request.Text = campaign.Text; request.Name = campaign.Name; return(request); }
public PushEngageCampaignRequest FillSendinBlueRequestFromCosmos() { PushEngageCampaignRequest request = new PushEngageCampaignRequest(); //todo try { if (this.settings.Count > 0) { foreach (var item in settings) { switch (item.Name) { case "pushApiToken": { request.ApiToken = item.Name.Equals("pushApiToken") ? item.Value : string.Empty; } break; } } } if (this.campaignSettings.Count > 0) { foreach (var item in settings) { switch (item.Name) { case "pushNotifUrl": { request.Url = item.Name.Equals("pushNotifUrl") ? item.Value : string.Empty; } break; case "pushNotifImage": { request.Image = item.Name.Equals("pushNotifImage") ? item.Value : string.Empty; } break; } } } } catch (Exception e) { string exceptionMessage = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(exceptionMessage); } return(request); }
public string SendCampaign(PushEngageCampaignRequest requestData) { string Id = string.Empty; try { EngageMessage.Title = requestData.Name; EngageMessage.Message = requestData.Text; EngageMessage.Url = requestData.Url; EngageMessage.Image_url = requestData.Image; EngageMessage.Key = requestData.ApiToken; string newMessage = "notification_title=" + EngageMessage.Title + "&"; newMessage += "notification_message=" + EngageMessage.Message + "&"; newMessage += "notification_url=" + EngageMessage.Url + "&"; newMessage += "image_url=" + EngageMessage.Image_url + ""; using (WebClient wc = new WebClient()) { wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; wc.Headers.Add("api_key", EngageMessage.Key); byte[] bret = wc.UploadData(api_url, "POST", System.Text.Encoding.UTF8.GetBytes(newMessage)); string HtmlResult = Encoding.UTF8.GetString(bret); if (HtmlResult.Length > 0) { dynamic dyn = JsonConvert.DeserializeObject(HtmlResult); Id = dyn.notification_id; } } } catch (Exception e) { var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } return(Id); }