//[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)); }
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); }