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); }
public void Update(T entity) { _dbContext.Entry(entity).State = EntityState.Modified; }
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); }