private string GetFileNameForType(DefinitionsBundleType Type)
        {
            switch (Type)
            {
            case DefinitionsBundleType.SearchParameters:
                return("search-parameters.xml");

            case DefinitionsBundleType.DataElements:
                return("dataelements.xml");

            case DefinitionsBundleType.ExtensionDefinitions:
                return("extension-definitions.xml");

            case DefinitionsBundleType.ProfilesOthers:
                return("profiles-others.xml");

            case DefinitionsBundleType.ProfilesResources:
                return("profiles-resources.xml");

            case DefinitionsBundleType.ProfilesTypes:
                return("profiles-types.xml");

            case DefinitionsBundleType.V2Tables:
                return("v2-tables.xml");

            case DefinitionsBundleType.V3CodeSystems:
                return("v3-codesystems.xml");

            case DefinitionsBundleType.ValueSets:
                return("valuesets.xml");

            default:
                return("Error!!");
            }
        }
        private Bundle LoadFromZip(DefinitionsBundleType DefinitionBundleType)
        {
            Stream FileStream = new MemoryStream(ResourceStore.definitions_xml);

            using (ZipArchive Archive = new ZipArchive(FileStream))
            {
                foreach (ZipArchiveEntry Entry in Archive.Entries)
                {
                    if (Entry.FullName.Equals(GetFileNameForType(DefinitionBundleType), StringComparison.OrdinalIgnoreCase))
                    {
                        //Pick processing from where it was last left off
                        Stream StreamItem = Entry.Open();
                        using (StreamItem)
                        {
                            var buffer = new MemoryStream();
                            StreamItem.CopyTo(buffer);
                            buffer.Seek(0, SeekOrigin.Begin);
                            System.Xml.XmlReader XmlReader = SerializationUtil.XmlReaderFromStream(buffer);
                            Resource             Resource  = DeSerializeFromXml(XmlReader);
                            if (Resource is Bundle Bundle)
                            {
                                return(Bundle);
                            }
                        }
                    }
                }
            }
            return(null);
        }
Exemple #3
0
        public List <Resource> GetResourceList(DefinitionsBundleType DefinitionsBundleType)
        {
            Bundle Bundle     = LoadFromZip(DefinitionsBundleType);
            var    returnList = new List <Resource>();

            foreach (var Entry in Bundle.Entry)
            {
                returnList.Add(Entry.Resource);
            }
            return(returnList);
        }
 public Bundle GetBundle(DefinitionsBundleType DefinitionsBundleType)
 {
     return(LoadFromZip(DefinitionsBundleType));
 }