Example #1
0
        public Assembly GetDaoAssembly(DirectoryInfo rootDir, string schemaName, string fileExtension = "*.yaml")
        {
            YamlSchema yamlSchema = YamlSchemaGenerator.GenerateYamlSchema(rootDir, fileExtension);

            this.DeserializationFailures = yamlSchema.Failures;
            Subscribe(yamlSchema);
            DynamicYamlTypes = yamlSchema.GetDynamicTypes();
            AddTypes(DynamicYamlTypes.ToArray());
            return(GetDaoAssembly());
        }
        public YamlSchema GenerateYamlSchema(DirectoryInfo yamlRoot, string fileExtension = "*.yaml")
        {
            YamlSchema yamlSchema = new YamlSchema(yamlRoot);

            this.Subscribe(yamlSchema);
            FileInfo[] yamlFiles = yamlRoot.GetFiles(fileExtension, SearchOption.AllDirectories);
            if (yamlFiles.Length > 0)
            {
                FireEvent(FilesFound, new YamlEventArgs {
                    Files = yamlFiles
                });
                yamlSchema.AddFiles(yamlFiles.ToList());
                FireEvent(SchemaGenerationComplete, new YamlEventArgs {
                    Schema = yamlSchema, Files = yamlFiles
                });
            }

            return(yamlSchema);
        }