public static string[] GetZipCodes(string prefixText, int count, string state, string city) { PostalInfoLookupDataSet ds = PostalInfoLookupDataSet.Instance; string zipCodeFilter = string.Format(CultureInfo.CurrentCulture, @"(State = '{0}' OR '{0}' = '') AND (City = '{1}' OR '{1}' = '') AND ZipCode LIKE '{2}%'" , state, city, prefixText); DataView dw = new DataView(ds.Zip); dw.RowFilter = zipCodeFilter; dw.Sort = "ZipCode"; List <string> resultZipCodes = new List <string>(); int remainingValues = count; foreach (DataRowView rowView in dw) { PostalInfoLookupDataSet.ZipRow zipRow = (PostalInfoLookupDataSet.ZipRow)rowView.Row; resultZipCodes.Add(zipRow.ZipCode); remainingValues--; if (remainingValues == 0) { break; } } return(resultZipCodes.ToArray()); }
public static string[] GetCities(string prefixText, int count, string state) { PostalInfoLookupDataSet ds = PostalInfoLookupDataSet.Instance; string cityFilter = string.Format(CultureInfo.CurrentCulture, @"(State = '{0}' OR '{0}' = '') AND City LIKE '{1}%'" , state, prefixText); DataView dw = new DataView(ds.Zip); dw.RowFilter = cityFilter; dw.Sort = "City"; List <string> resultCities = new List <string>(); string previousCity = null; int remainingValues = count; foreach (DataRowView rowView in dw) { PostalInfoLookupDataSet.ZipRow zipRow = (PostalInfoLookupDataSet.ZipRow)rowView.Row; //The following is to remove duplicate cities, because there is no select DISTINCT clause on in-memory datasets. if (zipRow.City != previousCity) { previousCity = zipRow.City; resultCities.Add(zipRow.City); remainingValues--; if (remainingValues == 0) { break; } } } return(resultCities.ToArray()); }
protected virtual void AddGlobalServices(IServiceCollection globalServices) { globalServices.AddNew <EnterpriseLibraryAuthorizationService, IAuthorizationService>(); _siteMapBuilderService = globalServices.AddNew <SiteMapBuilderService, ISiteMapBuilderService>(); globalServices.Add <IPostalInfoLookupService>( new PostalInfoLookupService(PostalInfoLookupDataSet.CreateLoaded())); }
public void ShouldRetrieveNullIfStateIdDoesNotExist() { PostalInfoLookupDataSet ds = new PostalInfoLookupDataSet(); ds.States.AddStatesRow("CA", "California"); PostalInfoLookupService lookup = new PostalInfoLookupService(ds); State retrievedState = lookup.GetStateById("NA"); Assert.IsNull(retrievedState); }
public TestablePostalInfoLookupService( PostalInfoLookupDataSet data, int numCitiesInWA, int numStatesInDataSet, int numZipsInBellevue) : base(data) { _testData = data; _numCitiesInWA = numCitiesInWA; _numStatesInDataSet = numStatesInDataSet; _numZipsInBellevue = numZipsInBellevue; }
public void ShouldRetrieveStateById() { PostalInfoLookupDataSet ds = new PostalInfoLookupDataSet(); ds.States.AddStatesRow("CA", "California"); ds.States.AddStatesRow("OR", "Oregon"); PostalInfoLookupService lookup = new PostalInfoLookupService(ds); State retrievedState = lookup.GetStateById("OR"); Assert.IsNotNull(retrievedState); Assert.AreEqual("Oregon", retrievedState.Name); }
public void ShouldGetAllCitiesInEveryStateWithEmptyState() { PostalInfoLookupDataSet ds = new PostalInfoLookupDataSet(); ds.States.AddStatesRow("CA", "California"); ds.States.AddStatesRow("WA", "Washington"); ds.Zip.AddZipRow(41, "95340", "RED TOP", "CA"); ds.Zip.AddZipRow(53, "98005", "BELLEVUE", "WA"); ds.Zip.AddZipRow(53, "98052", "REDMOND", "WA"); PostalInfoLookupService lookup = new PostalInfoLookupService(ds); List<string> cities = new List<string>(lookup.GetCities("R", "", 10)); Assert.AreEqual(2, cities.Count); }
public void ShouldGetAllCitiesInEveryStateWithEmptyState() { PostalInfoLookupDataSet ds = new PostalInfoLookupDataSet(); ds.States.AddStatesRow("CA", "California"); ds.States.AddStatesRow("WA", "Washington"); ds.Zip.AddZipRow(41, "95340", "RED TOP", "CA"); ds.Zip.AddZipRow(53, "98005", "BELLEVUE", "WA"); ds.Zip.AddZipRow(53, "98052", "REDMOND", "WA"); PostalInfoLookupService lookup = new PostalInfoLookupService(ds); List <string> cities = new List <string>(lookup.GetCities("R", "", 10)); Assert.AreEqual(2, cities.Count); }
private static TestablePostalInfoLookupService GetPostalInfoLookupService() { PostalInfoLookupDataSet ds = new PostalInfoLookupDataSet(); ds.States.AddStatesRow("CA", "California"); ds.States.AddStatesRow("OR", "Oregon"); ds.States.AddStatesRow("WA", "Washington"); ds.Zip.AddZipRow(53, "98001", "Algona", "WA"); ds.Zip.AddZipRow(53, "98002", "AUBURN", "WA"); ds.Zip.AddZipRow(53, "98005", "BELLEVUE", "WA"); ds.Zip.AddZipRow(53, "98006", "BELLEVUE", "WA"); ds.Zip.AddZipRow(41, "97201", "PORTLAND", "OR"); TestablePostalInfoLookupService lookup = new TestablePostalInfoLookupService(ds, 3, 3, 2); return(lookup); }
private static TestablePostalInfoLookupService GetPostalInfoLookupService() { PostalInfoLookupDataSet ds = new PostalInfoLookupDataSet(); ds.States.AddStatesRow("CA", "California"); ds.States.AddStatesRow("OR", "Oregon"); ds.States.AddStatesRow("WA", "Washington"); ds.Zip.AddZipRow(53, "98001", "Algona", "WA"); ds.Zip.AddZipRow(53, "98002", "AUBURN", "WA"); ds.Zip.AddZipRow(53, "98005", "BELLEVUE", "WA"); ds.Zip.AddZipRow(53, "98006", "BELLEVUE", "WA"); ds.Zip.AddZipRow(41, "97201", "PORTLAND", "OR"); TestablePostalInfoLookupService lookup = new TestablePostalInfoLookupService(ds, 3, 3, 2); return lookup; }
private static void AssertStatesMatchesTable(PostalInfoLookupDataSet.StatesDataTable states, List<State> list) { Assert.AreEqual(states.Rows.Count, list.Count, "Retrieved list contains different number of entries than source table"); for(int i = 0; i < states.Rows.Count; ++i) { AssertRowMatchesObject(states[i], list[i], i); } }
private static void AssertRowMatchesObject(PostalInfoLookupDataSet.StatesRow row, State state, int rowNumber) { Assert.AreEqual(row.Id, state.Id, "ID does not match at index {0}", rowNumber); Assert.AreEqual(row.Name, state.Name, "Name does not match at index {0}", rowNumber); }