Esempio n. 1
0
        private static void AddMetadata(MetadataElement me, IPersistenceProvider engine, string basePath)
        {
            string content = ResolveContent(me.Value);
            switch (me.Type)
            {
                case MetadataType.assembly:
                    engine.RegisterMetaData(MetaDataFactory.FromAssembly(ResolveFilename(me.Value, basePath)));
                    break;
                case MetadataType.model:
                    if (!string.IsNullOrEmpty(content))
                    {
                        using (System.Xml.XmlReader reader = new System.Xml.XmlTextReader(new System.IO.StringReader(content)))
                            engine.RegisterMetaData(MetaDataFactory.FromModelFile(reader));
                    }
                    else
                    {
                        engine.RegisterMetaData(MetaDataFactory.FromModelFile(ResolveFilename(me.Value, basePath)));
                    }
                    break;

                case MetadataType.metadata:
                    if (!string.IsNullOrEmpty(content))
                    {
                        using (System.Xml.XmlReader reader = new System.Xml.XmlTextReader(new System.IO.StringReader(content)))
                            engine.RegisterMetaData(MetaDataFactory.FromMetaDataFile(reader));
                    }
                    else
                    {
                        engine.RegisterMetaData(MetaDataFactory.FromMetaDataFile(ResolveFilename(me.Value, basePath)));
                    }
                    break;
            }
        }