Exemplo n.º 1
0
        public OneSignalCampaignRequest FillSendinBlueRequestFromCosmos()
        {
            OneSignalCampaignRequest request = new OneSignalCampaignRequest();

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

                        case "oneSignalAppId":
                        {
                            request.AppId = item.Name.Equals("oneSignalAppId") ? item.Value : string.Empty;
                        }
                        break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                string exceptionMessage = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(exceptionMessage);
            }
            return(request);
        }
Exemplo n.º 2
0
        public OneSignalCampaignRequest getRequestData(CampaignDocument campaign)
        {
            OneSignalCampaignRequest request = FillSendinBlueRequestFromCosmos();

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

            try
            {
                var request = WebRequest.Create(api_url + "notifications") as HttpWebRequest;

                request.KeepAlive   = true;
                request.Method      = "POST";
                request.ContentType = "application/json; charset=utf-8";

                request.Headers.Add("authorization", "Basic " + requestData.AppKey);

                byte[] byteArray = Encoding.UTF8.GetBytes("{"
                                                          + "\"app_id\": \"" + requestData.AppId + "\","
                                                          + "\"contents\": {\"en\": \"" + requestData.Text + "\"},"
                                                          + "\"included_segments\": [\"All\"]}");

                dynamic responseContent = null;

                using (var writer = request.GetRequestStream())
                {
                    writer.Write(byteArray, 0, byteArray.Length);
                }

                using (var response = request.GetResponse() as HttpWebResponse)
                {
                    using (var reader = new StreamReader(response.GetResponseStream()))
                    {
                        responseContent = JsonConvert.DeserializeObject(reader.ReadToEnd());
                    }
                }

                Id = responseContent.id;
            }
            catch (Exception ex)
            {
                var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }
            return(Id);
        }