using SleepReplenishTrial.Helpers;
using SleepReplenishTrial.Model;
using System.Collections.Generic;
using System.Configuration;
using System.Collections.Specialized;
namespace SleepReplenishTrial.Controller
public class CampaignLeadSurfaceController : SurfaceController
private enum CampaignLeadPostResponse { STATUS = 0, REASON = 1, ERRORMESSAGE = 2 };
public CampaignLeadPost post = new CampaignLeadPost();
public ActionResult Index()
return PartialView("QualifyContactForm", new CampaignsLeadModel());
public ActionResult QualifyFormSubmit( CampaignsLeadModel model)
return CurrentUmbracoPage();
NameValueCollection outgoingQueryString = HttpUtility.ParseQueryString(String.Empty);
outgoingQueryString.Add("FirstName", model.FirstName);
outgoingQueryString.Add("LastName", model.LastName);
outgoingQueryString.Add("Zip", model.Zip);
outgoingQueryString.Add("PhoneNumber", model.PhoneNumber);
outgoingQueryString.Add("EmailAddress", model.EmailAddress);
outgoingQueryString.Add("ExpressConsent", model.ExpressConsent);
string queryString = outgoingQueryString.ToString();
queryString += "&InquiryDate=" + model.InquiryDate.ToString("yyyy-MM-dd");
string postUrl = ConfigurationManager.AppSettings["TXMD.LeadShaper.Url"];
if(model.ExpressConsent == "1")
serverResponse = post.Send(postUrl, queryString);
return Redirect("/thank-you");
if (serverResponse[(int)CampaignLeadPostResponse.STATUS] == "Success")
return Redirect("/thank-you");
else if (serverResponse[(int)CampaignLeadPostResponse.STATUS] == "Error")
switch (serverResponse[(int)CampaignLeadPostResponse.REASON])
return Redirect("/form-submission-response/");
return RedirectToCurrentUmbracoPage("?PhoneNumber=Invalid%20Phone%20Number");
return CurrentUmbracoPage();