protected void UpdateLeadAccepted(CoregPostRequestBase postRequest, CbrLead lead) { var campaign = _db.CoregCampaigns.First(c => c.CoregCampaignId == (int)postRequest.CampaignCodeId); _db.CoregLeadAccepteds.Add(new CoregLeadAccepted() { CbrLeadId = lead.CbrLeadId, CoregCampaignId = (int)postRequest.CampaignCodeId, CoregPartnerId = campaign.CoregPartnerId }); _db.SaveChanges(); }
public IHttpActionResult PostCenterfieldMedia(CoregPostRequestBase request) { try { var isTest = Properties.Settings.Default.CenterfieldMediaTest; var postManager = new PostManagerCenterfieldMedia(); return(Ok(postManager.SubmitLead(request, Utility.GetClientIpAddress(), isTest))); } catch (Exception e) { if (e.InnerException != null) { if (e.InnerException.InnerException != null) { return(Ok(e.InnerException.InnerException.Message)); } return(Ok(e.InnerException.Message)); } return(Ok(e.Message)); } }
public CoregPostResponse SubmitLead(CoregPostRequestBase request, string ipAddress, bool isTest) { var lead = _db.CbrLeads.FirstOrDefault(c => c.CbrLeadId == request.CbrLeadId); if (lead == null) { return(new CoregPostResponse() { Success = false, Other = $"LeadId {request.CbrLeadId} not found." }); } var xverifyManager = new XVerifyManager(); var zipResponse = xverifyManager.VerifyZipAndIpAddress(ipAddress, request.Zip, request.email); if (zipResponse.IpIsIrReputable) { return(new CoregPostResponse() { Success = false, ipIsIrReputable = true }); } if (zipResponse.NoMatch || zipResponse.ZipCodeInvalid) { return(new CoregPostResponse() { Success = false, zipIpVerificationFailed = true, InvalidZip = zipResponse.ZipCodeInvalid }); } UpdateLeadCityStateIP(xverifyManager, lead, ipAddress); string leadtimestamp = DateTime.Now.ToString("M/d/yyyy"); //m/d/yyyy h:mm:ss string postData = null; var r = request; var l = lead; Dictionary <string, object> postParameters = new Dictionary <string, object>(); postParameters.Add("subid", request.SubIdTag); postParameters.Add("first_name", lead.Firstname); postParameters.Add("last_name", lead.Lastname); postParameters.Add("email_address", request.email); postParameters.Add("contact_phone", lead.Phone); postParameters.Add("ip_address", ipAddress); switch (request.CampaignCodeId) { case CoregCampaignType.Centerfield_Sprint: //postData = // $"&offer_id={request.CampaignCode}&subid={r.SubIdTag}&email_address={l.EmailAddress}&first_name={l.Firstname}&last_name={l.Lastname}&contact_phone={l.Phone}&ip_address={ipAddress}×tamp={leadtimestamp}"; postParameters.Add("offer_id", request.CampaignCode); break; default: throw new ArgumentOutOfRangeException(); } if (isTest) { postParameters.Add("is_test", true); // postData += "&is_test=true"; } string response = PostForm(postParameters, baseurl); if (!string.IsNullOrWhiteSpace(response)) { if (response.ToLower().Contains("success")) { UpdateLeadAccepted(r, l); return(new CoregPostResponse() { Success = true }); } WriteCoregError("Centerfield", postData, baseurl, response); return(new CoregPostResponse() { Success = true }); } WriteCoregError("Centerfield", postData, baseurl, "No response."); return(new CoregPostResponse() { Success = false, Other = "No response." }); }