Beispiel #1
0
        public static CArchetypeRoot Map(this C_ARCHETYPE_ROOT model)
        {
            var cArchetypeRoot = (CArchetypeRoot)((C_COMPLEX_OBJECT)model).Map();

            cArchetypeRoot.ArchetypeId = new ArchetypeId(model.archetype_id.value);
            cArchetypeRoot.TemplateId  = new TemplateId(model.template_id.value);
            foreach (TermBindingSet bindingSet in model.term_bindings)
            {
                Dictionary <string, CodePhrase> items = bindingSet.items.ToDictionary(item => item.code,
                                                                                      item => item.value.Map());
                cArchetypeRoot.TerminologyBindings.Add(bindingSet.terminology, items);
            }

            if (model.term_definitions != null)
            {
                foreach (ARCHETYPE_TERM item in model.term_definitions)
                {
                    var archetypeTerminology = new ArchetypeTerminology
                    {
                        Code = item.code
                    };
                    foreach (StringDictionaryItem item2 in item.items)
                    {
                        archetypeTerminology.Items.Add(item2.id, item2.TypedValue);
                    }
                    cArchetypeRoot.TerminologyDefinitions.Add(item.code, archetypeTerminology);
                }
            }

            return(cArchetypeRoot);
        }
        public void ListsAreNotNull()
        {
            var archetypeTerminology = new ArchetypeTerminology();

            Assert.IsNotNull(archetypeTerminology.Items);
        }
Beispiel #3
0
        public static ArchetypeOntology Map(this ARCHETYPE_ONTOLOGY model)
        {
            var ontology = new ArchetypeOntology();

            //TermDefinitions
            if (model.term_definitions != null)
            {
                foreach (CodeDefinitionSet definition in model.term_definitions)
                {
                    var itemlist = new List <ArchetypeTerminology>();
                    foreach (ARCHETYPE_TERM item in definition.items)
                    {
                        var archetypeTerminology = new ArchetypeTerminology
                        {
                            Code = item.code
                        };
                        foreach (StringDictionaryItem item2 in item.items)
                        {
                            archetypeTerminology.Items.Add(item2.id, item2.TypedValue);
                        }
                        itemlist.Add(archetypeTerminology);
                    }
                    ontology.TerminologyDefinitions.Add(definition.language, itemlist);
                }
            }

            //TermBindings
            if (model.term_bindings != null)
            {
                foreach (TermBindingSet bindingSet in model.term_bindings)
                {
                    Dictionary <string, CodePhrase> items = bindingSet.items.ToDictionary(item => item.code,
                                                                                          item => item.value.Map());
                    ontology.TerminologyBindings.Add(bindingSet.terminology, items);
                }
            }

            //ConstraintDefinitions
            if (model.constraint_definitions != null)
            {
                foreach (CodeDefinitionSet definition in model.constraint_definitions)
                {
                    var itemlist = new List <ArchetypeTerminology>();
                    foreach (ARCHETYPE_TERM item in definition.items)
                    {
                        var archetypeTerminology = new ArchetypeTerminology
                        {
                            Code = item.code
                        };
                        foreach (StringDictionaryItem item2 in item.items)
                        {
                            archetypeTerminology.Items.Add(item2.id, item2.TypedValue);
                        }
                        itemlist.Add(archetypeTerminology);
                    }
                    ontology.ConstraintDefinitions.Add(definition.language, itemlist);
                }
            }

            //ConstraintBindings
            if (model.constraint_bindings != null && model.constraint_bindings.Count > 0)
            {
                throw new NotImplementedException();
            }

            return(ontology);
        }