示例#1
0
        public async Task <DataPackage> InvokeAsync(ActionInfo ai, DataPackage dp)
        {
            GetParameters(ai, dp);
            var ctx = ai.GetContext();

            JMXFactory f    = ctx.CreateJMXFactory(_connectionName);
            IJMXRepo   repo = f.SchemaFactory.CreateJMXRepo();

            using (SQLStatementWriter writer = f.CreateSQLStatementWriter())
            {
                JMXSchema schema = await repo.GetSchemaAsync(_viewName);

                string body = writer.WriteSelectStatement(
                    schema,
                    _conditions.ToArray())
                              .ToString();

                if (schema.DbObjectType == DbObjectTypes.Action)
                {
                    ActionManager am = ctx.Services.GetRequiredService <ActionManager>();
                    return(await am.ExecuteAsync(am.GetActionInfo(body), dp));
                }
                else
                {
                    return(await f
                           .GetMdbContext()
                           .GetReaderAsync(body, CreateParameters(schema)));
                }
            }
        }
示例#2
0
 private void Test1()
 {
     using (MdbContext mdb = new MdbContext(_ci))
     {
         _ = JMXFactory.Create(_services, mdb);
     }
 }
示例#3
0
 public void JMXObjectReadTest()
 {
     var        mdbFactory = Program.GetServices().GetRequiredService <MdbContextFactory>();
     JMXFactory f          = JMXFactory.Create(_services, mdbFactory.GetContext(_connectionName));
     var        p          = f.CreateJMXProvider();
     var        o          = p.Read("DealAcc", 12345);
 }
示例#4
0
 private async Task DropDBSchemaTestAsyncNew()
 {
     using (MdbContext mdb = new MdbContext(_ci))
     {
         JMXFactory f = JMXFactory.Create(_services, mdb);
         await f.SchemaFactory.CreateJMXRepo().ClearCatalogAsync();
     }
 }
示例#5
0
        public static JMXFactory CreateJMXFactory(this ActionContext ctx, string workConnectionName)
        {
            var        services   = ctx.Services;
            var        mdbFactory = services.GetRequiredService <IMdbContextFactory>();
            MdbContext workDb     = mdbFactory.GetContext(workConnectionName);
            var        f          = JMXFactory.Create(services, workDb);

            return(f);
        }
示例#6
0
 public MultiEdit(string objectName)
 {
     this.Width  = 500;
     this.Height = (int)(this.Width / vbo.GoldenRatio);
     _schema     = JMXFactory
                   .Create()
                   .CreateJMXRepo()
                   .GetSchema(objectName);
     this.Add <Panel>(WinFormConfig.SinglePageForm);
     this.LoadDataComplete += (c, e) => AddSTDButtons();
 }
示例#7
0
 private async Task SyncSchemaTestAsyncNew()
 {
     using (MdbContext mdb = new MdbContext(_cn))
     {
         JMXFactory f    = JMXFactory.Create(_services, mdb);
         var        stor = f.CreateJMXBalance();
         foreach (string s in GetTestNames())
         {
             await stor.SyncObjectSchemaAsync(s);
         }
     }
 }
示例#8
0
 private async Task SaveSchemaTestAsyncNew()
 {
     using (MdbContext mdb = new MdbContext(_ci))
     {
         JMXFactory f    = JMXFactory.Create(_services, mdb);
         var        stor = f.CreateJMXRepo();
         foreach (var s in GetTestSchemas())
         {
             await stor.SaveSchemaAsync(s);
         }
     }
 }
示例#9
0
        private void CreateFactorySpeedGTest()
        {
            var _configuration  = Program.GetServices().GetRequiredService <IConfiguration>();
            var workConnectInfo = _configuration.GetSection($"connectionStrings:Test").Get <ConnectInfo>();

            _logger.LogDebug("Start speed test for ApplicationContext.CreateJMXFactory");

            for (int i = 0; i < 10000; i++)
            {
                using (MdbContext workDb = new MdbContext(workConnectInfo))
                {
                    _ = JMXFactory.Create(_services, workDb);
                }
            }
            _logger.LogDebug("End speed test for ApplicationContext.CreateJMXFactory");
        }