private void CheckTranslations(OntologyTerm source, VmOpenApiFintoItemVersionBase target)
 {
     target.Code.Should().Be(source.Code);
     target.Name.First().Value.Should().Be(source.Label);
     target.OntologyType.Should().Be(source.OntologyType);
     target.Uri.Should().Be(source.Uri);
 }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rootTerm"></param>
        /// <param name="targetTerm"></param>
        /// <returns></returns>
        private IEnumerable <OntologyTerm> TracePath(OntologyTerm rootTerm, OntologyTerm targetTerm)
        {
            var path = new List <OntologyTerm>
            {
                rootTerm
            };

            var targetTermFound = rootTerm.ChildrenOntologyTerms.FirstOrDefault(x => x.Id == targetTerm.Id);

            if (targetTermFound != null)
            {
                path.Add(targetTermFound);

                return(path);
            }
            else
            {
                foreach (var item in rootTerm.ChildrenOntologyTerms)
                {
                    //if (item.Id == targetTerm.Id)
                    //{
                    //}

                    var r = TracePath(item, targetTerm);
                    if (r != null)
                    {
                        path.AddRange(r);

                        return(path);
                    }
                }
            }

            return(null);
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ontologyTerms"></param>
        /// <param name="idTerm"></param>
        /// <returns></returns>
        private OntologyTerm FindTerm(IEnumerable <OntologyTerm> ontologyTerms, int idTerm)
        {
            OntologyTerm termFound = null;

            termFound = ontologyTerms.FirstOrDefault(x => x.Id == idTerm);

            if (termFound != null)
            {
                return(termFound);
            }
            else
            {
                foreach (var term in ontologyTerms)
                {
                    if (term.ChildrenOntologyTerms != null && term.ChildrenOntologyTerms.Any())
                    {
                        termFound = FindTerm(term.ChildrenOntologyTerms, idTerm);

                        if (termFound != null)
                        {
                            break;
                        }
                    }
                }

                return(termFound);
            }
        }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ontology"></param>
        /// <param name="idOntologyTerm"></param>
        /// <returns></returns>
        public OntologyTerm FindTerm(Ontology ontology, int idOntologyTerm)
        {
            OntologyTerm termFound = null;

            termFound = FindTerm(ontology.OntologyTerms, idOntologyTerm);

            return(termFound);
        }
Esempio n. 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ontologyTerm1"></param>
        /// <param name="ontologyTerm2"></param>
        /// <returns></returns>
        public IEnumerable <OntologyTerm> FindPathBetweenTerms(OntologyTerm ontologyTerm1, OntologyTerm ontologyTerm2)
        {
            var path = new List <OntologyTerm>();

            var isTerm1Root = FindTerm(ontologyTerm1.ChildrenOntologyTerms, ontologyTerm2.Id) != null;

            if (isTerm1Root)
            {
                path = TracePath(ontologyTerm1, ontologyTerm2).ToList();
                return(path);
            }

            var isTerm2Root = FindTerm(ontologyTerm2.ChildrenOntologyTerms, ontologyTerm1.Id) != null;

            if (isTerm2Root)
            {
                path = TracePath(ontologyTerm2, ontologyTerm1).ToList();
                return(path);
            }

            return(null);
        }
 private void CheckTranslations(string source, OntologyTerm target)
 {
     target.Uri.Should().Be(source);
 }