Esempio n. 1
0
        public PushEngageCampaignRequest getRequestData(CampaignDocument campaign)
        {
            PushEngageCampaignRequest request = FillSendinBlueRequestFromCosmos();

            request.Text = campaign.Text;
            request.Name = campaign.Name;
            return(request);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }