/// <summary> /// Получение ссылки по содержимому. /// </summary> /// <param name="linkContent">содержимое</param> /// <returns>список SC-адресов</returns> public List <ScAddress> GetLinksByContent(LinkContent linkContent) { var result = new List <ScAddress>(); if (knowledgeBase.IsAvaible) { var command = new FindLinksCommand(linkContent); var response = (FindLinksResponse)knowledgeBase.ExecuteCommand(command); result = response.Addresses; } return(result); }
/// <summary> /// Генерирация уникального системного идентификатора для узла на основе адреса узла и префикса. /// </summary> /// <param name="nodeAddress">SC-адрес узла</param> /// <param name="preffix">префикс для узла</param> /// <returns>уникальный идентификатор для узла</returns> public Identifier GenerateUniqueSysIdentifier(ScAddress nodeAddress, string preffix) { Identifier identifier = Identifier.Invalid; Identifier probablyIdentifier = string.Format("{0}_{1}_{2}", preffix, UnixDateTime.FromDateTime(DateTime.Now).GetHashCode(), nodeAddress.GetHashCode()); var content = new LinkContent(probablyIdentifier.Value); var command = new FindLinksCommand(content); var response = (FindLinksResponse)knowledgeBase.ExecuteCommand(command); if (response.Addresses.Count == 0) { identifier = probablyIdentifier; } return(identifier); }