/// <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)); }
/// <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)); }