public static LocationCookies GetCookies() { var httpContext = HttpContext.Current; if (httpContext == null) { throw new ApplicationException("HttpContext is not available."); } var request = httpContext.Request; // ReSharper disable once JoinDeclarationAndInitializer LocationCookies result; result = new LocationCookies { Address = ValueOrNull(request.Cookies["Address"]), State = ValueOrNull(request.Cookies["State"]), Congress = ValueOrNull(request.Cookies["Congress"]), StateSenate = ValueOrNull(request.Cookies["StateSenate"]), StateHouse = ValueOrNull(request.Cookies["StateHouse"]), County = ValueOrNull(request.Cookies["County"]), District = ValueOrNull(request.Cookies["District"]), Place = ValueOrNull(request.Cookies["Place"]), Elementary = ValueOrNull(request.Cookies["Elementary"]), Secondary = ValueOrNull(request.Cookies["Secondary"]), Unified = ValueOrNull(request.Cookies["Unified"]), CityCouncil = ValueOrNull(request.Cookies["CityCouncil"]), CountySupervisors = ValueOrNull(request.Cookies["CountySupervisors"]), SchoolDistrictDistrict = ValueOrNull(request.Cookies["SchoolDistrictDistrict"]), Geo = ValueOrNull(request.Cookies["Geo"]) }; return(result); }
private static List <LinkInfo> GetRecentSampleBallotLinks(LocationCookies cookies) { var linkList = new List <LinkInfo>(); if (StateCache.IsValidStateCode(cookies.State)) { var table = Elections.GetViewableDisplayDataByStateCode(cookies.State); foreach (var row in table) { var linkInfo = new LinkInfo(row) { HRef = UrlManager.GetBallotPageUri(row.ElectionKey, cookies.Congress, cookies.StateSenate, cookies.StateHouse, cookies.County, cookies.District, cookies.Place, cookies.Elementary, cookies.Secondary, cookies.Unified, cookies.CityCouncil, cookies.CountySupervisors, cookies.SchoolDistrictDistrict, null) }; linkList.Add(linkInfo); // go back to most recent general or offyear election if (row.ElectionType == "G" || row.ElectionType == "O") { break; } } } return(linkList); }
protected void Page_Load(object sender, EventArgs e) { var substitutions = new Substitutions(); if (DomainData.IsValidStateCode) // Single state { Title = $"{PublicMasterPage.SiteName} | {substitutions.Substitute(TitleTagDefaultPageSingleStateDomain)}"; MetaDescription = substitutions.Substitute(MetaDescriptionTagDefaultPageSingleStateDomain); } else // use the All states domain { Title = $"{PublicMasterPage.SiteName} | {substitutions.Substitute(TitleTagDefaultPageAllStatesDomain)}"; MetaDescription = substitutions.Substitute(MetaDescriptionTagDefaultPageAllStatesDomain); } // My Sample Ballot Buttons var cookies = LocationCookies.GetCookies(); List <LinkInfo> links = null; var stateCode = DomainData.FromQueryStringOrDomain; if (cookies.IsValid) { links = GetRecentSampleBallotLinks(cookies); } ExplorerLinkBox.Visible = false; SetupHeading(cookies, links); if (DomainData.IsValidStateCode) { CreateUpcomingLinks(stateCode); } else { UpcomingLinkBox.Visible = false; } GetLinkBox(PresidentLinks, "US President and Vice-President", ForResearchPage.GetPresidentLinks()); GetLinkBox(SenateLinks, "US Senate", ForResearchPage.GetSenateLinks()); GetLinkBox(HouseLinks, "US House of Representatives", ForResearchPage.GetHouseLinks()); GetLinkBox(GovernorLinks, "State Governors and Lieutenant Governors", ForResearchPage.GetGovernorLinks()); if (DomainData.IsValidStateCode) { ForResearchPage.AddStateLinksToDiv(ElectionResults, stateCode, false, false); } else { ElectionResultsLinkBox.Visible = false; } }
protected override string GetCacheKey() { var cookies = LocationCookies.GetCookies(); var key = UrlManager.GetStateCodeFromHostName(); if (cookies.IsValid) { key = $"{UrlManager.GetStateCodeFromHostName()}.{cookies.Congress}.{cookies.StateSenate}." + $"{cookies.StateHouse}.{cookies.County}.{cookies.District}.{cookies.Place}." + $"{cookies.Elementary}.{cookies.Secondary}.{cookies.Unified}.{cookies.CityCouncil}." + $"{cookies.CountySupervisors}.{cookies.SchoolDistrictDistrict}"; } return(key); }
private void SetupHeading(LocationCookies cookies, IEnumerable <LinkInfo> links) { if (cookies.IsValid) { HeaderArea.AddCssClasses("has-address has-state"); ElectedOfficialsButton.Visible = true; StatewideButton.Visible = true; if (links != null) { foreach (var button in links.Select(CreateSampleBallotButton)) { button.AddTo(SampleBallotPlaceHolder); } } ElectedOfficialsLink.HRef = UrlManager.GetElectedPageUri(cookies.State, cookies.Congress, cookies.StateSenate, cookies.StateHouse, cookies.County, cookies.District, cookies.Place, cookies.Elementary, cookies.Secondary, cookies.Unified, cookies.CityCouncil, cookies.CountySupervisors, cookies.SchoolDistrictDistrict) .ToString(); StatewideLink.HRef = UrlManager.GetOfficialsPageUri(cookies.State) .ToString(); } else if (DomainData.IsValidStateCode) { HeaderArea.AddCssClasses("no-address has-state"); ElectedOfficialsButton.Visible = false; StatewideButton.Visible = true; StatewideLink.HRef = UrlManager.GetOfficialsPageUri(DomainData.FromQueryStringOrDomain) .ToString(); } else { HeaderArea.AddCssClasses("no-address no-state"); ElectedOfficialsButton.Visible = false; StatewideButton.Visible = false; } if (IsPostBack) { AddressEntry.Submit(); } }
public static LocationCookies GetCookies() { var httpContext = HttpContext.Current; if (httpContext == null) { throw new ApplicationException("HttpContext is not available."); } var request = httpContext.Request; // ReSharper disable once JoinDeclarationAndInitializer LocationCookies result; //if (string.IsNullOrWhiteSpace(ValueOrNull(request.Cookies["Vote"]))) result = new LocationCookies { Address = ValueOrNull(request.Cookies["Address"]), State = ValueOrNull(request.Cookies["State"]), Congress = ValueOrNull(request.Cookies["Congress"]), StateSenate = ValueOrNull(request.Cookies["StateSenate"]), StateHouse = ValueOrNull(request.Cookies["StateHouse"]), County = ValueOrNull(request.Cookies["County"]) }; //else //{ // // ReSharper disable once PossibleNullReferenceException // var cookies = request.Cookies["Vote"].Values; // result = new LocationCookies // { // State = cookies["State"], // Congress = cookies["Congress"], // StateSenate = cookies["StateSenate"], // StateHouse = cookies["StateHouse"], // County = cookies["County"] // }; //} return(result); }