Exemplo n.º 1
0
        /// <summary>
        /// Returns all relations containing the given object.
        /// </summary>
        /// <param name="type"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public override IList <Relation> GetRelationsFor(OsmGeoType type, long id)
        {
            string listKey = PrimitiveExtensions.BuildMemberRelationListRedisKey(type, id);

            HashSet <string> relationIdStrings = _client.GetAllItemsFromSet(listKey);
            List <long>      relationIds       = new List <long>();

            if (relationIdStrings != null)
            {
                foreach (string relationIdString in relationIdStrings)
                {
                    relationIds.Add(long.Parse(relationIdString, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture));
                }
            }

            return(this.GetRelations(relationIds));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Builds a redis key for the relation members relation list.
 /// </summary>
 /// <param name="member"></param>
 /// <returns></returns>
 public static string BuildMemberRelationListRedisKey(RelationMember member)
 {
     return(PrimitiveExtensions.BuildMemberRelationListRedisKey(member.MemberType.Value, member.MemberId.Value));
 }