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(); }
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); }