Exemplo n.º 1
0
        public override async Task Run()
        {
            var findObjectHelper = new FindObjectHelper();
            var columnTypes      = await findObjectHelper.ExtractColumnTypes(HubCommunicator, ActivityContext);

            if (columnTypes == null)
            {
                RaiseError("No column types crate found.");
                return;
            }

            var queryPayloadValue = ExtractSqlQuery();

            if (queryPayloadValue == null)
            {
                RaiseError("No Sql Query payload crate found.");
                return;
            }

            var connectionString = await ExtractConnectionString();

            var query = BuildQuery(connectionString, queryPayloadValue, columnTypes);

            var dbProvider     = DbProvider.GetDbProvider(DefaultDbProvider);
            var data           = dbProvider.ExecuteQuery(query);
            var payloadCM      = BuildStandardPayloadData(data, columnTypes);
            var payloadCMCrate = Crate.FromContent("Sql Query Result", payloadCM);

            Payload.Add(payloadCMCrate);
            Success();
        }
Exemplo n.º 2
0
        private async Task <List <KeyValueDTO> > MatchColumnsForSelectedObject(string selectedObject)
        {
            var findObjectHelper = new FindObjectHelper();

            var columnDefinitions = await ExtractColumnDefinitions();

            var columnTypeMap = await findObjectHelper.ExtractColumnTypes(HubCommunicator, ActivityContext);

            var matchedColumns = findObjectHelper.MatchColumnsForSelectedObject(
                columnDefinitions, selectedObject, columnTypeMap);

            return(matchedColumns);
        }