Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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()));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 public TestablePostalInfoLookupService(
     PostalInfoLookupDataSet data,
     int numCitiesInWA,
     int numStatesInDataSet,
     int numZipsInBellevue)
     : base(data)
 {
     _testData           = data;
     _numCitiesInWA      = numCitiesInWA;
     _numStatesInDataSet = numStatesInDataSet;
     _numZipsInBellevue  = numZipsInBellevue;
 }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
        public TestablePostalInfoLookupService(
			PostalInfoLookupDataSet data,
			int numCitiesInWA,
			int numStatesInDataSet,
			int numZipsInBellevue)
            : base(data)
        {
            _testData = data;
            _numCitiesInWA = numCitiesInWA;
            _numStatesInDataSet = numStatesInDataSet;
            _numZipsInBellevue = numZipsInBellevue;
        }
        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);
        }
        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 ShouldRetrieveNullIfStateIdDoesNotExist()
        {
            PostalInfoLookupDataSet ds = new PostalInfoLookupDataSet();
            ds.States.AddStatesRow("CA", "California");
            PostalInfoLookupService lookup = new PostalInfoLookupService(ds);

            State retrievedState = lookup.GetStateById("NA");

            Assert.IsNull(retrievedState);
        }