GetRestaurantOsmById() public method

public GetRestaurantOsmById ( string id ) : RestaurantOsm
id string
return Spontaneous.DataModel.RestaurantOsm
Beispiel #1
0
        public void GetRestaurantOsmByIdTest_ShouldGetRestaurantById()
        {
            string restaurantId = "53b126ed059232096074e61d";
            OpenStreetMapServices osm = new OpenStreetMapServices();
            var rest = osm.GetRestaurantOsmById(restaurantId);

            Assert.IsNotNull(rest);
        }
        /// <summary>
        /// Should add new restaurant if not exists or add new data to existing restaurant
        /// </summary>
        /// <param name="osmRestId">
        /// Id of RestaurantOSM
        /// </param>
        /// <param name="similarRestId">
        /// Id of existing similar restaurant in main DB
        /// </param>
        public void UpdateDbFromRestaurantOsmData(ObjectId osmRestId, ObjectId similarRestId)
        {
            try
            {
                string osmRestIdStr = osmRestId != null && osmRestId.ToString().IndexOf("000") < 0 ? osmRestId.ToString() : "";
                string similarRestIdStr = similarRestId != null && similarRestId.ToString().IndexOf("000") < 0 ? similarRestId.ToString() : "";
                log.InfoFormat("[UpdateDbFromRestaurantOsmData] osmRestId={0}, similarRestId={1}.", osmRestIdStr, similarRestIdStr);
                OpenStreetMapServices osmServices = new OpenStreetMapServices();

                RestaurantOsm tempOsmRest = osmServices.GetRestaurantOsmById(osmRestId.ToString());
                RestaurantBasicData existRest = GetRestaurantBasicById(similarRestIdStr);
                if (existRest != null)
                {
                    if (tempOsmRest.ReferenceId.ToString() != existRest.Id.ToString())
                    {
                        tempOsmRest.ReferenceId = existRest.Id;
                        osmServices.UpdateRestaurantOsm(tempOsmRest);
                    }
                    RestaurantBasicData tempBasicRest = tempOsmRest.RestaurantOsmToRestaurantBasicData(existRest);
                    if (tempBasicRest != null) // Some properties was updated
                    {
                        tempBasicRest.Source = "OpenStreetMap";
                        UpdateRestaurant(tempBasicRest);
                    }
                }
                else
                {
                    AddNewRestaurantFromOsmRest(tempOsmRest);
                }
            }
            catch (Exception e)
            {
                log.ErrorFormat("[UpdateDbFromRestaurantOsmData] Exception={0}", e);
            }
        }
        /// <summary>
        /// Should add new restaurant if not exists or add new data to existing restaurant
        /// </summary>
        public void UpdateDbFromRestaurantOsmData(ObjectId osmRestId)
        {
            try
            {
                string id = (osmRestId != null && osmRestId.ToString().IndexOf("000000") < 0) ? osmRestId.ToString() : "";
                log.InfoFormat("[UpdateDbFromRestaurantOsmData] osmRestId={0}.", id);
                OpenStreetMapServices osmServices = new OpenStreetMapServices();

                RestaurantOsm tempOsmRest = osmServices.GetRestaurantOsmById(osmRestId.ToString());
                if (tempOsmRest != null)
                {
                    if (tempOsmRest.ReferenceId == null || tempOsmRest.ReferenceId.ToString().IndexOf("000000") >= 0)
                    {
                        AddNewRestaurantFromOsmRest(tempOsmRest);
                    }
                    else // already has reference then update if necessary
                    {
                        string existRestId = tempOsmRest.ReferenceId.ToString();
                        log.WarnFormat("[UpdateDbFromRestaurantOsmData] already has reference, existRestId={0}.", existRestId);
                        UpdateDbFromRestaurantOsmData(osmRestId, tempOsmRest.ReferenceId);
                    }
                }
            }
            catch (Exception e)
            {
                log.ErrorFormat("[UpdateDbFromRestaurantOsmData] Exception={0}", e);
            }
        }