![]() |
VOOZH | about |
Blazor is a framework for developing modern, client-side web UIs using .NET technology. Instead of coding in JavaScript, developers can use the familiar C# language and .NET libraries to build app UIs.
The CData API Driver for ADO.NET can be used with standard ADO.NET interfaces, such as LINQ and Entity Framework, to interact with live Teamwork data. Since Blazor supports .NET Core, developers can use CData ADO.NET Providers in Blazor apps. In this article, we will guide you to build a simple Blazor app that talks to Teamwork using standard SQL queries.
CData ADO.NET Providers allow users to access Teamwork just like they would access SQL Server, using simple SQL queries.
Install the Teamwork ADO.NET Data Provider from the CData website or from NuGet. Search NuGet for "Teamwork ADO.NET Data Provider."
👁 Install ADO.NET Teamwork Provider from NuGet.Start by creating a Blazor project that references the CData API Driver for ADO.NET
Start by setting the Profile connection property to the location of the Teamwork Profile on disk (e.g. C:\profiles\Teamwork.apip). Next, set the ProfileSettings connection property to the connection string for Teamwork (see below).
Register an OAuth application on the Teamwork Developer Portal to obtain your Client ID and Secret. Set the Domain property to your Teamwork site's subdomain.
For example: Profile=C:\profiles\Teamwork.apip;Authscheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;
@page "/"
@using System.Data;
@using System.Data.CData.API;
<h1>Hello, world!</h1>
Welcome to your Data app.
<div class="row">
<div class="col-12">
@using (APIConnection connection = new APIConnection(
"Profile=C:\profiles\Teamwork.apip;Authscheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;"))
{
var sql = "SELECT Id, Name FROM Account WHERE ChatEnabled = 'true'";
var results = new DataTable();
APIDataAdapter dataAdapter = new APIDataAdapter(sql, connection);
dataAdapter.Fill(results);
<table class="table table-bordered">
<thead class="thead-light">
<tr>
@foreach (DataColumn item in results.Rows[0].Table.Columns)
{
<th scope="col">@item.ColumnName</th>
}
</tr>
</thead>
<tbody>
@foreach (DataRow row in results.Rows)
{
<tr>
@foreach (var column in row.ItemArray)
{
<td>@column.ToString()</td>
}
</tr>
}
</tbody>
</table>
}
</div>
</div>
At this point, you have a Teamwork-connected Blazor app, capable of working with live Teamwork data just like you would work with a SQL Server instance. Download a free, 30-day trial and start working with live Teamwork data in your Blazor apps today.
Connect to live data from Teamwork with the API Driver
Connect to Teamwork