Exemple #1
0
        public static string SendCampaignMessage(Models.CAMPAIGN _campaign)
        {
            if (_campaign != null)
            {
                Models.KindadsEntities _context = new Models.KindadsEntities();

                var _apikey = (from d in _context.PRODUCT_SETTINGS where d.SettingName.Equals("pushApiToken") where d.PRODUCT_IdProduct.Equals(_campaign.PRODUCT.IdProduct) select d).FirstOrDefault();

                if (_apikey != null)
                {
                    Models.Partner.PushcrewModel.MessageRequest _message = new Models.Partner.PushcrewModel.MessageRequest();

                    _message.title     = _campaign.Name;
                    _message.message   = _campaign.AdText;
                    _message.url       = _campaign.AdURL;
                    _message.image_url = _campaign.AdImage;

                    string newMessage = "title=" + _message.title + "&";
                    newMessage += "message=" + _message.message + "&";
                    newMessage += "url=" + _message.url + "&";
                    newMessage += "image_url=" + _message.image_url + "";

                    //POST
                    try
                    {
                        using (WebClient wc = new WebClient())
                        {
                            wc.Headers[HttpRequestHeader.ContentType]   = "application/x-www-form-urlencoded";
                            wc.Headers[HttpRequestHeader.Authorization] = _apikey.SettingValue.ToString();
                            byte[] bret       = wc.UploadData("https://pushcrew.com/api/v1/send/all/", "POST", System.Text.Encoding.UTF8.GetBytes(newMessage));
                            string HtmlResult = System.Text.Encoding.UTF8.GetString(bret);
                            string key        = "";
                            //Models.Partner.PushcrewModel.MessageResponse _response = new Models.Partner.PushcrewModel.MessageResponse();
                            if (HtmlResult.Length > 0)
                            {
                                dynamic dyn = JsonConvert.DeserializeObject(HtmlResult);
                                key = dyn.request_id;

                                Models.CAMPAIGN _campaignUpdate = (from d in _context.CAMPAIGNs1 where d.IdCampaign.Equals(_campaign.IdCampaign) select d).FirstOrDefault();
                                _campaignUpdate.IdCampaign3rdParty = key;
                                _context.CAMPAIGNs1.Attach(_campaignUpdate);
                                _context.Entry(_campaignUpdate).State = System.Data.Entity.EntityState.Modified;
                                _context.SaveChanges();
                                return(key);
                            }
                            else
                            {
                                return(null);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        return(ex.Message);
                    }
                }
            }
            return(null);
        }
Exemple #2
0
        //[HttpGet]
        //public JsonResult SendGift()
        //{
        //  System.Threading.Tasks.Task task = System.Threading.Tasks.Task.Run(async () => await (Helpers.NethereumHelper.SendGiftTokens("0xa23d692aff231cfec286655121bada6f95b18677")));

        //  string sGift = task.ToString();
        //  return Json("{ok}");
        //}

        public JsonResult SendMessageSubscribers()
        {
            Models.KindadsEntities _context = new Models.KindadsEntities();

            var idCampaign = Guid.Parse("4B39BCEC-B3F2-47DB-A0CF-9DBAC13B2454");

            Models.CAMPAIGN _campaign = (from d in _context.CAMPAIGNs1 where d.IdCampaign.Equals(idCampaign) select d).FirstOrDefault();

            string suuid = Helpers.SubscribersHelper.SendCampaignMessage(_campaign);

            _context.Dispose();

            return(Json("{ok}", JsonRequestBehavior.AllowGet));
        }
Exemple #3
0
 public Repository(Models.KindadsEntities dbContext)
 {
     _dbContext = dbContext;
 }
        public static string SendCampaignMessage(Models.CAMPAIGN _campaign)
        {
            if (_campaign != null)
            {
                Models.KindadsEntities _context = new Models.KindadsEntities();

                var _apikey = (from d in _context.PRODUCT_SETTINGS where d.SettingName.Equals("pushApiToken") where d.PRODUCT_IdProduct.Equals(_campaign.PRODUCT.IdProduct) select d).FirstOrDefault();
                var _url    = (from r in _campaign.CAMPAIGN_SETTINGS where r.SettingName.Equals("pushNotifUrl") select r).FirstOrDefault();
                if (_apikey != null)
                {
                    Models.Partner.SubscribersModels.MessageRequest _message = new Models.Partner.SubscribersModels.MessageRequest();

                    _message.body             = _campaign.AdText;
                    _message.title            = _campaign.Name;
                    _message.landing_page_url = _url.SettingValue;
                    _message.image_url        = _campaign.AdImage;
                    _message.utm = new Models.Partner.SubscribersModels.UTM()
                    {
                        campaign = _campaign.UTM_Campaign, medium = _campaign.UTM_Medium, source = _campaign.UTM_Source
                    };
                    _message.metadata = new Models.Partner.SubscribersModels.METADATA()
                    {
                        additionalProp1 = "", additionalProp2 = "", additionalProp3 = ""
                    };

                    string sdata = Newtonsoft.Json.JsonConvert.SerializeObject(_message);



                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://app.subscribers.com/api/v1/messages");
                    request.Method      = "POST";
                    request.ContentType = "application/json";
                    request.Headers.Add("X-API-Key", _apikey.SettingValue.ToString());

                    //POST
                    request.ContentLength = sdata.Length;

                    using (Stream webStream = request.GetRequestStream())
                        using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
                        {
                            requestWriter.Write(sdata);
                        }

                    Models.Partner.SubscribersModels.MessageResponse _response = new Models.Partner.SubscribersModels.MessageResponse();
                    try
                    {
                        WebResponse webResponse = request.GetResponse();
                        using (Stream webStream = webResponse.GetResponseStream())
                        {
                            if (webStream != null)
                            {
                                using (StreamReader responseReader = new StreamReader(webStream))
                                {
                                    _response = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.Partner.SubscribersModels.MessageResponse>(responseReader.ReadToEnd());
                                    if (_response != null)
                                    {
                                        if (_response.uuid.Length > 0)
                                        {
                                            Models.CAMPAIGN _campaignUpdate = (from d in _context.CAMPAIGNs1 where d.IdCampaign.Equals(_campaign.IdCampaign) select d).FirstOrDefault();
                                            _campaignUpdate.IdCampaign3rdParty = _response.uuid;
                                            _context.CAMPAIGNs1.Attach(_campaignUpdate);
                                            _context.Entry(_campaignUpdate).State = System.Data.Entity.EntityState.Modified;
                                            _context.SaveChanges();
                                        }
                                    }
                                    return(_response.uuid);
                                }
                            }
                        }
                    }
                    catch (WebException eresp)
                    {
                        //Do nothing
                    }
                    finally
                    {
                        _context.Dispose();
                    }
                }
                else
                {
                    _context.Dispose();
                }
            }
            return(null);
        }