public GetRestaurantOsmById ( string id ) : |
||
id | string | |
Результат |
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); } }