示例#1
0
        public void FixedFieldRenderTest()
        {
            OpenApiFixedFieldModel model = new OpenApiFixedFieldModel
            {
                FieldName = "_malarkey",

                Type = "object"
            };

            OpenApiFixedFieldModel model2 = new OpenApiFixedFieldModel
            {
                FieldName = "_malarkey2",

                Type = "string"
            };

            OpenApiObjectDescriptorModel objModel = new OpenApiObjectDescriptorModel
            {
                Namespace         = "Test.This.Out",
                ObjectName        = "TheObjectName",
                ObjectDescription = "This is a comprehensive description",
                FixedFields       = new List <OpenApiFixedFieldModel>
                {
                    model,
                    model2
                }
            };

            OutLine(objModel.Render());
        }
示例#2
0
        public void GenerateOpenApiObjects()
        {
            OpenApiObjectDatabase      db = new OpenApiObjectDatabase();
            ObjectDescriptorCollection allObjectDescriptors = ObjectDescriptor.LoadAll(db);
            string nameSpace = "Bam.Net.Services.OpenApi.Objects";

            foreach (ObjectDescriptor objectDescriptor in allObjectDescriptors)
            {
                List <OpenApiFixedFieldModel> fields = objectDescriptor.FixedFieldsByObjectDescriptorId.Select(ff => new OpenApiFixedFieldModel {
                    FieldName = ff.FieldName.Trim(), Type = ff.Type.Trim(), Description = ff.Description.Trim()
                }).ToList();

                OpenApiObjectDescriptorModel model = new OpenApiObjectDescriptorModel
                {
                    Namespace         = nameSpace,
                    ObjectName        = objectDescriptor.Name,
                    ObjectDescription = objectDescriptor.Description,
                    FixedFields       = fields
                };
                model.Render().SafeWriteToFile(string.Format("C:\\src\\Bam.Net\\Bam.Net.Services\\OpenApi\\Objects\\{0}.cs", model.ObjectName));
            }
        }