Example #1
0
        // ReSharper restore UnusedMember.Global
        // ReSharper restore VirtualMemberNeverOverriden.Global
        // ReSharper restore MemberCanBePrivate.Global

        #endregion ReSharper restore

        #endregion Protected

        #region Event handlers and overrides

        protected override void OnPreLoad(EventArgs e)
        {
            base.OnPreLoad(e);

            if (AdminPageLevel == AdminPageLevel.Local)
            {
                var licTable = LocalIdsCodes.GetDataByStateCodeLocalKey(StateCode, LocalKey);
                if (licTable.Count == 1)
                {
                    var lic = licTable[0];
                    switch (lic.LocalType)
                    {
                    case LocalIdsCodes.LocalTypeTiger:
                        // Allow council for both places and cosubs - 04/10/19
                        IsTigerPlace =
                            TigerPlacesCounties.CountByStateCodeTigerTypeTigerCode(StateCode,
                                                                                   TigerPlacesCounties.TigerTypePlace, lic.LocalId) +
                            TigerPlacesCounties.CountByStateCodeTigerTypeTigerCode(StateCode,
                                                                                   TigerPlacesCounties.TigerTypeCousub, lic.LocalId) > 0;
                        if (IsTigerPlace)
                        {
                            TigerPlaceCode = lic.LocalId;
                            TigerPlaceName =
                                TigerPlaces.GetNameByStateCodeTigerCode(StateCode, TigerPlaceCode);
                        }
                        break;

                    case LocalIdsCodes.LocalTypeElementary:
                    case LocalIdsCodes.LocalTypeSecondary:
                    case LocalIdsCodes.LocalTypeUnified:
                        IsTigerSchool   = true;
                        TigerSchoolType = lic.LocalType;
                        TigerSchoolCode = lic.LocalId;
                        TigerSchoolName =
                            TigerSchools.GetNameByStateCodeTigerCodeTigerType(StateCode, TigerSchoolCode,
                                                                              TigerSchoolType);
                        break;
                    }
                }
            }
        }
        private void AuditSchoolDistricts(ShapeFile shapefile, string tigerType, string description)
        {
            if (shapefile == null)
            {
                throw new Exception("Could not find the shapefile");
            }
            var enumerator = shapefile.GetShapeFileEnumerator();
            var list       = new List <string[]>();

            while (enumerator.MoveNext())
            {
                list.Add(shapefile.GetAttributeFieldValues(enumerator.CurrentShapeIndex));
            }
            // reproject into nicely-named structure and eliminate "F" (ficticious entry)
            var shapefileData = list
                                .Select(i => new
            {
                StateCode = StateCache.StateCodeFromLdsStateCode(i[0].Trim()),
                Id        = i[1].Trim(),
                Name      = i[3].Trim(),
                FuncStat  = i[9].Trim()
            }).Where(i => i.FuncStat != "F").ToList();

            var tigerSchoolsData        = TigerSchools.GetDataByTigerType(tigerType);
            var tigerPlacesCountiesData = TigerPlacesCounties.GetDataByTigerType(tigerType);

            // District is in the shapefile, but is not in TigerSchools.
            var notInDatabase = shapefileData
                                .Where(s => !tigerSchoolsData.Any(d => d.StateCode == s.StateCode &&
                                                                  d.TigerCode == s.Id)).ToList();

            // District is in TigerSchools, but not in the shapefile.
            var notInShapefile = tigerSchoolsData
                                 .Where(d => !shapefileData.Any(s => s.StateCode == d.StateCode &&
                                                                s.Id == d.TigerCode)).ToList();

            // Check TigerSchools in TigerPlacesCounties
            var notInTigerPlacesCounties = tigerSchoolsData.Where(s =>
                                                                  !tigerPlacesCountiesData.Any(c =>
                                                                                               c.StateCode == s.StateCode && c.TigerCode == s.TigerCode)).ToList();

            // Check TigerPlacesCounties in TigerSchools
            var notInTigerSchools = tigerPlacesCountiesData.Where(c =>
                                                                  !tigerSchoolsData.Any(s =>
                                                                                        s.StateCode == c.StateCode && s.TigerCode == c.TigerCode)).ToList();

            var results = new HtmlDiv().AddTo(ResultsPlaceHolder, "results");

            new HtmlP {
                InnerText = $"Audit of {description} School District ShapeFile"
            }.AddTo(results, "head");
            new HtmlP {
                InnerText = $"There are {shapefileData.Count} entries in the shapefile."
            }
            .AddTo(results);
            new HtmlP
            {
                InnerText =
                    $"There are {tigerSchoolsData.Count} district entries and " +
                    $"{tigerPlacesCountiesData.Count} county entries in the database."
            }.AddTo(results);

            new HtmlP
            {
                InnerText =
                    $"{notInDatabase.Count} entries are in the shapefile, but not in the database."
            }.AddTo(results);
            foreach (var i in notInDatabase)
            {
                new HtmlP {
                    InnerText = $"{i.StateCode}:{i.Id} {i.Name}"
                }
            }
Example #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //Page.IncludeJs("~/js/jq/jquery.cookie.js");
            Title = Format(TitleTag, PublicMasterPage.SiteName);
            var email = GetQueryString("email");

            EmailFixedAddress.InnerText = email;

            string tigerCode;

            var address               = Request.Cookies["Address"]?.Value;
            var stateCode             = Request.Cookies["State"]?.Value;
            var county                = Request.Cookies["County"]?.Value;
            var countySupervisors     = Request.Cookies["CountySupervisors"]?.Value;
            var congressionalDistrict = Request.Cookies["Congress"]?.Value;
            var stateSenateDistrict   = Request.Cookies["StateSenate"]?.Value;
            var stateHouseDistrict    = Request.Cookies["StateHouse"]?.Value;
            var place                  = Request.Cookies["Place"]?.Value;
            var district               = Request.Cookies["District"]?.Value;
            var cityCouncil            = Request.Cookies["CityCouncil"]?.Value;
            var elementary             = Request.Cookies["Elementary"]?.Value;
            var secondary              = Request.Cookies["Secondary"]?.Value;
            var unified                = Request.Cookies["Unified"]?.Value;
            var schoolDistrictDistrict = Request.Cookies["SchoolDistrictDistrict"]?.Value;
            var components             = WebService.GetComponentsFromCookies();

            var(latitude, longitude) = WebService.GetGeoFromCookies();

            if (!StateCache.IsValidStateCode(stateCode) || IsNullOrWhiteSpace(email) ||
                IsNullOrWhiteSpace(congressionalDistrict) ||
                IsNullOrWhiteSpace(stateSenateDistrict) ||
                !Offices.IsValidStateHouseDistrict(stateHouseDistrict, stateCode) ||
                IsNullOrWhiteSpace(county) || components == null || latitude == null ||
                longitude == null)
            {
                SafeTransferToError404();
                //EmailFixedAddress.InnerText = Join("|", stateCode.SafeString(), email.SafeString(),
                //  congressionalDistrict.SafeString(), stateSenateDistrict.SafeString(),
                //  stateHouseDistrict.SafeString(), county.SafeString(),
                //  components == null ? "null" : "components",
                //  (latitude?.ToString()).SafeString(), (longitude?.ToString()).SafeString());
            }

            WebService.UpdateAddresses(email, "SBRL", Empty, Empty, components,
                                       stateCode, congressionalDistrict, stateSenateDistrict, stateHouseDistrict, county,
                                       district, place, elementary, secondary, unified, cityCouncil, countySupervisors,
                                       schoolDistrictDistrict, latitude, longitude);

            Control tr;

            if (!IsNullOrWhiteSpace(address))
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "Address"
                }.AddTo(tr);
                new TableCell {
                    Text = HttpUtility.UrlDecode(address)
                }.AddTo(tr);
            }

            //tr = new TableRow().AddTo(DistrictsTable);
            //new TableCell { Text = "State" }.AddTo(tr);
            //new TableCell { Text = StateCache.GetStateName(stateCode) }.AddTo(tr);

            if (!IsNullOrWhiteSpace(county) && stateCode != "DC")
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "County"
                }.AddTo(tr);
                new TableCell {
                    Text = CountyCache.GetCountyName(stateCode, county)
                }.AddTo(tr);
            }

            if (!IsNullOrWhiteSpace(countySupervisors))
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = stateCode == "DC" ? "Advisory Neighborhood Commission" : "County Supervisors"
                }.AddTo(tr);
                new TableCell
                {
                    Text = CountySupervisors.GetNameByStateCodeCountySupervisorsCode(stateCode,
                                                                                     countySupervisors)
                }.AddTo(tr);
            }

            if (!IsNullOrWhiteSpace(congressionalDistrict) && stateCode != "DC")
            {
                if ((tigerCode =
                         TigerToVoteCodes.GetTigerCodeByTableTypeStateCodeVoteCode("CD", stateCode,
                                                                                   congressionalDistrict)) != null)
                {
                    congressionalDistrict = tigerCode;
                }
                if (congressionalDistrict != "00")
                {
                    tr = new TableRow().AddTo(DistrictsTable);
                    new TableCell {
                        Text = "Congressional District"
                    }.AddTo(tr);
                    new TableCell {
                        Text = congressionalDistrict.TrimStart('0')
                    }.AddTo(tr);
                }
            }

            if (!IsNullOrWhiteSpace(stateSenateDistrict))
            {
                if ((tigerCode =
                         TigerToVoteCodes.GetTigerCodeByTableTypeStateCodeVoteCode("SS", stateCode,
                                                                                   stateSenateDistrict)) != null)
                {
                    stateSenateDistrict = tigerCode;
                }
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = stateCode == "DC" ? "Ward" : "State Senate District"
                }.AddTo(tr);
                new TableCell {
                    Text = stateSenateDistrict?.TrimStart('0')
                }.AddTo(tr);
            }

            if (!IsNullOrWhiteSpace(stateHouseDistrict))
            {
                if ((tigerCode =
                         TigerToVoteCodes.GetTigerCodeByTableTypeStateCodeVoteCode("SH", stateCode,
                                                                                   stateHouseDistrict)) != null)
                {
                    stateHouseDistrict = tigerCode;
                }
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "State House District"
                }.AddTo(tr);
                new TableCell {
                    Text = stateHouseDistrict.TrimStart('0')
                }.AddTo(tr);
            }

            if (stateCode != "DC")
            {
                var districts = new List <string>();
                if (!IsNullOrWhiteSpace(place))
                {
                    districts.Add(TigerPlaces.GetNameByStateCodeTigerCode(stateCode, place));
                }
                if (!IsNullOrWhiteSpace(district))
                {
                    districts.Add(TigerPlaces.GetNameByStateCodeTigerCode(stateCode, district));
                }
                if (districts.Count > 0)
                {
                    tr = new TableRow().AddTo(DistrictsTable);
                    new TableCell {
                        Text = "Local District"
                    }.AddTo(tr);
                    new TableCell {
                        Text = Join(", ", districts.Distinct())
                    }.AddTo(tr);
                }
            }

            if (!IsNullOrWhiteSpace(cityCouncil) && stateCode != "DC")
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "City Council"
                }.AddTo(tr);
                new TableCell
                {
                    Text = CityCouncil.GetNameByStateCodeCityCouncilCode(stateCode, cityCouncil)
                }.AddTo(tr);
            }

            if (!IsNullOrWhiteSpace(elementary))
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "Elementary School District"
                }.AddTo(tr);
                new TableCell
                {
                    Text = TigerSchools.GetNameByStateCodeTigerCodeTigerType(stateCode, elementary,
                                                                             "E")
                }.AddTo(tr);
            }

            if (!IsNullOrWhiteSpace(secondary))
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "Secondary School District"
                }.AddTo(tr);
                new TableCell
                {
                    Text = TigerSchools.GetNameByStateCodeTigerCodeTigerType(stateCode, secondary,
                                                                             "S")
                }.AddTo(tr);
            }

            if (!IsNullOrWhiteSpace(unified))
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "Unified School District"
                }.AddTo(tr);
                new TableCell
                {
                    Text = TigerSchools.GetNameByStateCodeTigerCodeTigerType(stateCode, unified, "U")
                }.AddTo(tr);
            }

            if (!IsNullOrWhiteSpace(schoolDistrictDistrict))
            {
                tr = new TableRow().AddTo(DistrictsTable);
                new TableCell {
                    Text = "School Voting District"
                }.AddTo(tr);
                new TableCell
                {
                    Text = SchoolDistrictDistricts.GetNameByStateCodeSchoolDistrictDistrictCode(
                        stateCode, schoolDistrictDistrict)
                }.AddTo(tr);
            }
        }
Example #4
0
        public static string FormatLegislativeDistrictsFromQueryString(
            string separator = "<br />")
        {
            var lines = new List <string>();

            if (QueryState != "DC")
            {
                string county = null;
                if (!IsNullOrWhiteSpace(QueryCounty))
                {
                    lines.Add(county = CountyCache.GetCountyName(QueryState, QueryCounty));
                }

                if (!IsNullOrWhiteSpace(QueryCountySupervisors))
                {
                    lines.Add(CountySupervisors.GetNameByStateCodeCountySupervisorsCode(QueryState,
                                                                                        QueryCountySupervisors));
                }

                string tigerCode;
                if (QueryCongress != "000")
                {
                    var congressionalDistrict = QueryCongress;
                    if (congressionalDistrict.Length == 3)
                    {
                        congressionalDistrict = congressionalDistrict.Substring(1);
                    }
                    if ((tigerCode =
                             TigerToVoteCodes.GetTigerCodeByTableTypeStateCodeVoteCode("CD", QueryState,
                                                                                       congressionalDistrict)) != null)
                    {
                        congressionalDistrict = tigerCode;
                    }
                    if (congressionalDistrict != "00")
                    {
                        lines.Add("US House District " + congressionalDistrict.TrimStart('0') + " " +
                                  StateCache.GetStateName(QueryState));
                    }
                }

                if (QueryStateSenate != "000")
                {
                    var stateSenateDistrict = QueryStateSenate;
                    if ((tigerCode =
                             TigerToVoteCodes.GetTigerCodeByTableTypeStateCodeVoteCode("SS", QueryState,
                                                                                       stateSenateDistrict)) != null)
                    {
                        stateSenateDistrict = tigerCode;
                    }
                    lines.Add(StateCache.GetStateName(QueryState) + " Senate District " +
                              stateSenateDistrict.TrimStart('0'));
                }

                if (!IsNullOrWhiteSpace(QueryStateHouse))
                {
                    var stateHouseDistrict = QueryStateHouse;
                    if ((tigerCode =
                             TigerToVoteCodes.GetTigerCodeByTableTypeStateCodeVoteCode("SH", QueryState,
                                                                                       stateHouseDistrict)) != null)
                    {
                        stateHouseDistrict = tigerCode;
                    }
                    lines.Add(StateCache.GetStateName(QueryState) + " House District " +
                              stateHouseDistrict.TrimStart('0'));
                }

                string district   = null;
                string lastResort = null;
                if (QueryDistrict != Empty)
                {
                    district = TigerPlaces.GetLongNameByStateCodeTigerCode(QueryState, QueryDistrict);
                    if (!IsNullOrWhiteSpace(district) && district.IsNeIgnoreCase(county))
                    {
                        if (district.EndsWith(" CCD") || district.EndsWith(" CDP"))
                        {
                            lastResort = district.Substring(0, district.Length - 4);
                        }
                        else
                        {
                            lines.Add(district);
                        }
                    }
                }

                if (QueryPlace != Empty)
                {
                    var place = TigerPlaces.GetLongNameByStateCodeTigerCode(QueryState, QueryPlace);
                    if (!IsNullOrWhiteSpace(place) && place.IsNeIgnoreCase(district) &&
                        place.IsNeIgnoreCase(county))
                    {
                        if (place.EndsWith(" CCD") || place.EndsWith(" CDP"))
                        {
                            lastResort = place.Substring(0, place.Length - 4);
                        }
                        else
                        {
                            lines.Add(place);
                            lastResort = null;
                        }
                    }
                }
                if (lastResort != null &&
                    (county == null ||
                     !county.StartsWith(lastResort, StringComparison.OrdinalIgnoreCase)))
                {
                    lines.Add(lastResort);
                }

                if (!IsNullOrWhiteSpace(QueryCityCouncil))
                {
                    lines.Add(
                        CityCouncil.GetNameByStateCodeCityCouncilCode(QueryState, QueryCityCouncil));
                }
            }
            else if (QueryStateSenate != "000")
            {
                if (!IsNullOrWhiteSpace(QueryStateSenate))
                {
                    lines.Add("Ward " + QueryStateSenate.TrimStart('0'));
                }
                if (!IsNullOrWhiteSpace(QueryCountySupervisors))
                {
                    lines.Add(
                        CountySupervisors.GetNameByStateCodeCountySupervisorsCode(QueryState,
                                                                                  QueryCountySupervisors));
                }
            }

            if (!IsNullOrWhiteSpace(QueryElementary))
            {
                lines.Add(
                    TigerSchools.GetNameByStateCodeTigerCodeTigerType(QueryState, QueryElementary,
                                                                      "E"));
            }

            if (!IsNullOrWhiteSpace(QuerySecondary))
            {
                lines.Add(
                    TigerSchools.GetNameByStateCodeTigerCodeTigerType(QueryState, QuerySecondary,
                                                                      "S"));
            }

            if (!IsNullOrWhiteSpace(QueryUnified))
            {
                lines.Add(
                    TigerSchools.GetNameByStateCodeTigerCodeTigerType(QueryState, QueryUnified, "U"));
            }

            if (!IsNullOrWhiteSpace(QuerySchoolDistrictDistrict))
            {
                lines.Add(
                    SchoolDistrictDistricts.GetNameByStateCodeSchoolDistrictDistrictCode(
                        QueryState, QuerySchoolDistrictDistrict));
            }

            if (separator == null)
            {
                return("<span>" + Join("</span><span>", lines) + "</span>");
            }
            return(Join(separator, lines));
        }