示例#1
0
        public MetadataGenerationResult GenerateJsonSchema(XmlDocSource xmlDocSource)
        {
            var results = new MetadataGenerationResult();


            //Checks that each DTO type can be documented
            // merge canemittype to emitter
            //results.AddValidationResults(new Auditor().AuditTypes(xmlDocSource));

            //Creates Jschema for all DTO types where it can find XML docs
            try
            {
                results.JsonSchema = new JsonSchemaDtoEmitter().EmitDtoJson(xmlDocSource);
            }
            catch (MetadataValidationException e)
            {
                results.MetadataGenerationErrors.Add(new MetadataGenerationError(MetadataType.JsonSchema, typeof(object), e));
            }

            try
            {
                //Checks that DTOs all have valid XML comments
                XmlDocUtils.EnsureXmlDocsAreValid(xmlDocSource);
            }
            catch (MetadataValidationException ex)
            {
                results.MetadataGenerationErrors.Add(new MetadataGenerationError(MetadataType.SMD, typeof(object), new MetadataValidationException(typeof(object), "", ex.Message, "", ex)));
            }

            return(results);
        }
        public MetadataGenerationResult GenerateJsonSchema(XmlDocSource xmlDocSource)
        {
            var results = new MetadataGenerationResult();

            //Checks that each DTO type can be documented
            // merge canemittype to emitter
            //results.AddValidationResults(new Auditor().AuditTypes(xmlDocSource));

            //Creates Jschema for all DTO types where it can find XML docs
            try
            {
                results.JsonSchema = new JsonSchemaDtoEmitter().EmitDtoJson(xmlDocSource);
            }
            catch (MetadataValidationException e)
            {
                results.MetadataGenerationErrors.Add(new MetadataGenerationError(MetadataType.JsonSchema, typeof(object), e));
            }

            try
            {

                //Checks that DTOs all have valid XML comments
                XmlDocUtils.EnsureXmlDocsAreValid(xmlDocSource);
            }
            catch (MetadataValidationException ex)
            {

                results.MetadataGenerationErrors.Add(new MetadataGenerationError(MetadataType.SMD, typeof(object), new MetadataValidationException(typeof(object), "", ex.Message, "", ex)));
            }

            return results;
        }