@namespace Oqtane.Modules.Admin.Sql
@inherits ModuleBase
@inject NavigationManager NavigationManager
@inject ITenantService TenantService
@inject ISqlService SqlService
@if (_tenants == null)
{
Loading...
}
else
{
|
|
|
|
@if (!string.IsNullOrEmpty(_results))
{
@((MarkupString)_results)
}
}
@code {
public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } }
List _tenants;
string _tenantid = "-1";
string _sql = "";
string _results = "";
protected override async Task OnInitializedAsync()
{
_tenants = await TenantService.GetTenantsAsync();
}
private async Task Execute()
{
if (_tenantid != "-1" && !string.IsNullOrEmpty(_sql))
{
SqlQuery sqlquery = new SqlQuery { TenantId = int.Parse(_tenantid), Query = _sql };
sqlquery = await SqlService.ExecuteQueryAsync(sqlquery);
_results = DisplayResults(sqlquery.Results);
}
else
{
AddModuleMessage("You Must Select A Tenant And Provide A SQL Query", MessageType.Warning);
}
}
private string DisplayResults(List> results)
{
string table = "";
foreach (Dictionary item in results)
{
if (table == "")
{
table = "";
table += "
";
foreach (KeyValuePair kvp in item)
{
table += "" + kvp.Key + " | ";
}
table += "
";
}
table += "";
foreach (KeyValuePair kvp in item)
{
table += "" + kvp.Value + " | ";
}
table += "
";
}
if (table != "")
{
table += "
";
}
else
{
table = "No Results Returned";
}
return table;
}
}