public void Apply(SwaggerDocument swaggerDoc, DocumentFilterContext context)
        {
            var adapter = new SchemaAdapter(swaggerDoc.Definitions);

            foreach (var assemblyPath in AssemblyPaths)
            {
                if (!string.IsNullOrEmpty(assemblyPath))
                {
                    try
                    {
                        var target = Assembly.LoadFile(assemblyPath);
                        foreach (var type in target.GetTypes())
                        {
                            if (IsAvailable(type))
                            {
                                try
                                {
                                    adapter.Fill(SchemaAdapter.DefaultSchema, type);
                                }
                                catch (Exception)
                                {
                                    //ignore exception
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                        //ignore exception
                    }
                }
            }

            foreach (var type in TypeList)
            {
                if (type != null)
                {
                    try
                    {
                        if (IsAvailable(type))
                        {
                            adapter.Fill(SchemaAdapter.DefaultSchema, type);
                        }
                    }
                    catch (Exception)
                    {
                        //ignore exception
                    }
                }
            }

            swaggerDoc.Definitions = swaggerDoc.Definitions.OrderBy(o => o.Key).ToDictionary(c => c.Key, c => c.Value);
        }
Esempio n. 2
0
 private void connectButton_Click(object sender, EventArgs e)
 {
     m_adapter = new SchemaAdapter(m_properites.connectionUrl, new ClientAuth(m_properites.user, m_properites.password));
     m_adapter.JsonReceivedEvent += (jObj) => { richTextBox1.Text = jObj.ToString(); };
     m_adapter.ActionResultEvent += (objectName, actionName, resultToken) => MessageBox.Show(resultToken != null? resultToken.ToString() : "null", objectName + "." + actionName + "()");
     //http://stackoverflow.com/a/10130126/376066 - need to do this manually (
     m_adapter.PropertyChanged += (pcSender, pcE) => propertyGrid1.Refresh() ;
     propertyGrid1.SelectedObject = m_adapter;
     m_adapter.RefreshSchema();
     m_adapter.RefreshPropertyValues();
     schemaTimer.Enabled = true;
     propertiesTimer.Enabled = true;
 }
Esempio n. 3
0
        public void Apply(Schema model, SchemaFilterContext context)
        {
            if (model == null)
            {
                throw new ArgumentNullException("model");
            }

            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            if (context.SystemType.IsEnum)
            {
                SchemaAdapter.FillEnumExtension(model, context.SystemType);
            }
        }