Ejemplo n.º 1
0
 private static BossResponse OAuthFind(PlaceByFullyParsedAddress request, string consumerKey, string consumerSecret, int retry = 0)
 {
     try
     {
         using (var oAuth = new OAuthClient())
         {
             var json          = oAuth.Get(request.GetUri(), consumerKey, consumerSecret);
             var bossContainer = JsonConvert.DeserializeObject <BossContainer>(json);
             if (bossContainer != null)
             {
                 return(bossContainer.BossResponse);
             }
             throw new InvalidOperationException("Unable to parse BOSS GEO Response. Raw JSON:\r\n" + json);
         }
     }
     catch (ProtocolException ex)
     {
         if (retry < RetryLimit && ex.InnerException is WebException)
         {
             return(OAuthFind(request, consumerKey, consumerSecret, ++retry));
         }
         throw;
     }
     catch (CommunicationException ex)
     {
         if (retry < RetryLimit && ex.Message == "Server Error")
         {
             return(OAuthFind(request, consumerKey, consumerSecret, ++retry));
         }
         throw;
     }
 }
Ejemplo n.º 2
0
 private Response ChannelFindByFullyParsedAddress(PlaceByFullyParsedAddress request, int retry = 0)
 {
     try
     {
         return(Channel.FindByFullyParsedAddress(request.House,
                                                 request.Street, request.UnitType, request.Unit,
                                                 request.CrossStreet, request.Postal, request.Neighborhood,
                                                 request.City, request.County, request.StateOrProvince,
                                                 request.Country, request.Locale, request.Start,
                                                 request.Count, request.Offset, request.GetFlagsAsString(),
                                                 request.GetGFlagsAsString(), request.AppId));
     }
     catch (ProtocolException ex)
     {
         if (retry < RetryLimit && ex.InnerException is WebException)
         {
             return(ChannelFindByFullyParsedAddress(request, ++retry));
         }
         throw;
     }
     catch (CommunicationException ex)
     {
         if (retry < RetryLimit && ex.Message == "Server Error")
         {
             return(ChannelFindByFullyParsedAddress(request, ++retry));
         }
         throw;
     }
 }
Ejemplo n.º 3
0
        public ResultSet Find(PlaceByFullyParsedAddress request, string consumerKey, string consumerSecret)
        {
            if (request == null) throw new ArgumentNullException("request");
            EnsureContractsAreSatisfied(request);

            var response = OAuthFind(request, consumerKey, consumerSecret);
            return response.PlaceFinder;
        }
Ejemplo n.º 4
0
 public void Yahoo_PlaceFinder_PlaceBy_ShouldPreserveCount()
 {
     var request = new PlaceByFullyParsedAddress
     {
         Count = 5,
     };
     request.Count.ShouldEqual(5);
 }
Ejemplo n.º 5
0
        public void Yahoo_PlaceFinder_PlaceBy_ShouldPreserveCount()
        {
            var request = new PlaceByFullyParsedAddress
            {
                Count = 5,
            };

            request.Count.ShouldEqual(5);
        }
        public void Yahoo_PlaceFinder_PlaceByFullyParsedAddress_ShouldPreserveUnitType()
        {
            var it = new PlaceByFullyParsedAddress
            {
                UnitType = "unit type",
            };

            it.ShouldNotBeNull();
            it.UnitType.ShouldEqual("unit type");
        }
        public void Yahoo_PlaceFinder_PlaceByFullyParsedAddress_ShouldPreserveNeighborhood()
        {
            var it = new PlaceByFullyParsedAddress
            {
                Neighborhood = "neighborhood",
            };

            it.ShouldNotBeNull();
            it.Neighborhood.ShouldEqual("neighborhood");
        }
        public void Yahoo_PlaceFinder_PlaceByFullyParsedAddress_ShouldPreserveCrossStreet()
        {
            var it = new PlaceByFullyParsedAddress
            {
                CrossStreet = "cross street",
            };

            it.ShouldNotBeNull();
            it.CrossStreet.ShouldEqual("cross street");
        }
Ejemplo n.º 9
0
        public void Yahoo_PlaceFinder_PlaceBy_ShouldPreserveAppId()
        {
            var it = new PlaceByFullyParsedAddress
            {
                AppId = "app id"
            };

            it.ShouldNotBeNull();
            it.AppId.ShouldEqual("app id");
        }
        public void Yahoo_PlaceFinder_PlaceByFullyParsedAddress_ShouldPreserveNeighborhood()
        {
            var it = new PlaceByFullyParsedAddress
            {
                Neighborhood = "neighborhood",
            };

            it.ShouldNotBeNull();
            it.Neighborhood.ShouldEqual("neighborhood");
        }
        public void Yahoo_PlaceFinder_PlaceByFullyParsedAddress_ShouldPreserveUnitType()
        {
            var it = new PlaceByFullyParsedAddress
            {
                UnitType = "unit type",
            };

            it.ShouldNotBeNull();
            it.UnitType.ShouldEqual("unit type");
        }
Ejemplo n.º 12
0
        public void Yahoo_PlaceFinder_PlaceBy_ShouldPreserveAppId()
        {
            var it = new PlaceByFullyParsedAddress
            {
                AppId = "app id"
            };

            it.ShouldNotBeNull();
            it.AppId.ShouldEqual("app id");
        }
        public void Yahoo_PlaceFinder_PlaceByFullyParsedAddress_ShouldPreserveCrossStreet()
        {
            var it = new PlaceByFullyParsedAddress
            {
                CrossStreet = "cross street",
            };

            it.ShouldNotBeNull();
            it.CrossStreet.ShouldEqual("cross street");
        }
Ejemplo n.º 14
0
        public ResultSet Find(PlaceByFullyParsedAddress request, string consumerKey, string consumerSecret)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            EnsureContractsAreSatisfied(request);

            var response = OAuthFind(request, consumerKey, consumerSecret);

            return(response.PlaceFinder);
        }
Ejemplo n.º 15
0
        public ResultSet Find(PlaceByFullyParsedAddress request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            EnsureContractsAreSatisfied(request);

            var response = ChannelFindByFullyParsedAddress(request);

            return(response.ResultSet);
        }
Ejemplo n.º 16
0
        public void Yahoo_PlaceFinder_PlaceFinderClient_FindBFullyParsedAddress_ShouldReturn1Result_ForYahooExample1()
        {
            using (var client = new PlaceFinderClient())
            {
                var request = new PlaceByFullyParsedAddress
                {
                    House = "701",
                    Street = "First Ave.",
                    Postal = "94089",
                    City = "Sunnyvale",
                    County = "Santa Clara",
                    StateOrProvince = "CA",
                    Country = "USA",
                };

                var results = client.Find(request);
                results.ShouldNotBeNull();
                results.Results.ShouldNotBeNull();
                results.Results.Count.ShouldEqual(1);
            }
        }
Ejemplo n.º 17
0
        public void Yahoo_PlaceFinder_PlaceFinderClient_FindBFullyParsedAddress_ShouldReturn1Result_ForYahooExample1()
        {
            using (var client = new PlaceFinderClient())
            {
                var request = new PlaceByFullyParsedAddress
                {
                    House           = "701",
                    Street          = "First Ave.",
                    Postal          = "94089",
                    City            = "Sunnyvale",
                    County          = "Santa Clara",
                    StateOrProvince = "CA",
                    Country         = "USA",
                };

                var results = client.Find(request, ConsumerKey, ConsumerSecret);
                results.ShouldNotBeNull();
                results.Results.ShouldNotBeNull();
                results.Count.ShouldEqual(1);
            }
        }
Ejemplo n.º 18
0
        internal static Uri GetUri(this PlaceByFullyParsedAddress request)
        {
            const string template = "house={house}&street={street}&unittype={unitType}&unit={unit}" +
                                    "&xstreet={crossStreet}&postal={postal}&neighborhood={neighborhood}&city={city}&county={county}&state={state}&country={country}";

            var urlBuilder = new StringBuilder(GetBaseUrl(request, template));

            urlBuilder.Replace("{house}", request.House);
            urlBuilder.Replace("{street}", request.Street);
            urlBuilder.Replace("{unitType}", request.UnitType);
            urlBuilder.Replace("{unit}", request.Unit);
            urlBuilder.Replace("{crossStreet}", request.CrossStreet);
            urlBuilder.Replace("{postal}", request.Postal);
            urlBuilder.Replace("{neighborhood}", request.Neighborhood);
            urlBuilder.Replace("{city}", request.City);
            urlBuilder.Replace("{county}", request.County);
            urlBuilder.Replace("{state}", request.StateOrProvince);
            urlBuilder.Replace("{country}", request.Country);

            return(new Uri(urlBuilder.ToString()));
        }
Ejemplo n.º 19
0
 private static BossResponse OAuthFind(PlaceByFullyParsedAddress request, string consumerKey, string consumerSecret, int retry = 0)
 {
     try
     {
         using (var oAuth = new OAuthClient())
         {
             var json = oAuth.Get(request.GetUri(), consumerKey, consumerSecret);
             var bossContainer = JsonConvert.DeserializeObject<BossContainer>(json);
             if (bossContainer != null) return bossContainer.BossResponse;
             throw new InvalidOperationException("Unable to parse BOSS GEO Response. Raw JSON:\r\n" + json);
         }
     }
     catch (ProtocolException ex)
     {
         if (retry < RetryLimit && ex.InnerException is WebException)
             return OAuthFind(request, consumerKey, consumerSecret, ++retry);
         throw;
     }
     catch (CommunicationException ex)
     {
         if (retry < RetryLimit && ex.Message == "Server Error")
             return OAuthFind(request, consumerKey, consumerSecret, ++retry);
         throw;
     }
 }