QuickbaseNet is a versatile C# library designed to simplify and streamline interactions with the QuickBase API. Tailored for developers looking to efficiently perform CRUD operations and build complex queries, QuickbaseNet offers a set of intuitive tools including QuickBaseCommandBuilder
, QueryBuilder
, and QuickbaseClient
. Whether you're managing database records or crafting detailed queries, QuickbaseNet enhances your experience with QuickBase tables through its fluent and user-friendly interfaces.
- Fluent Interface 🌊: Engage with methods that allow for easy and intuitive construction of various requests.
- Comprehensive CRUD Operations 🛠️: Use
QuickBaseCommandBuilder
to add new records, update existing ones, or delete records with efficiency. - Enhanced Record Management 📈: Improved
RecordBuilder
for more intuitive record modifications and additions. - Advanced Query Support 🔍: Leverage
QueryBuilder
to construct complex query requests effortlessly. - Seamless Client Setup 🌐: Initialize connections with
QuickbaseClient
, providing a secure and straightforward way to interact with the API.
Get started with QuickbaseNet by installing it via NuGet or cloning the repository:
# Install via NuGet
Install-Package QuickbaseNet
# Or clone the repository
git clone https://github.com/ducksoop/quickbase-net.git
QuickbaseNet simplifies QuickBase API interactions. Below are examples showcasing its main features:
// Initialize QuickbaseClient with your realm hostname and user token
var quickbaseClient = new QuickbaseClient("your_realm_hostname", "your_user_token");
// Use QuickBaseCommandBuilder to configure and build an insert request
var insertRequest = new QuickBaseCommandBuilder()
.ForTable("your_table_id")
.ReturnFields(1, 2, 3)
.AddNewRecord(record => record
.AddFields(
(6, "New record description"),
(7, 100),
(9, "2024-02-13"))
)
.BuildInsertUpdateCommand();
// Send the request and handle the response
var result = await quickbaseClient.InsertRecords(insertRequest);
if (result.IsSuccess) {
// Success logic
} else {
// Error handling
}
// Configure and build an update request with QuickBaseCommandBuilder
var updateRequest = new QuickBaseCommandBuilder()
.ForTable("your_table_id")
.ReturnFields(1, 2, 3) // Specify which fields to return after the update operation
.UpdateRecord(8, record => record // Specify the record to update based on its record ID (8 in this example)
.AddField(7, 150) // Update field 7 with a new value
.AddField(9, "2024-02-15")) // Update field 9 with a new value
.BuildInsertUpdateCommand(); .BuildInsertUpdateCommand();
// Send the request and handle the response
var result = await quickbaseClient.UpdateRecords(updateRequest);
if (result.IsSuccess) {
// Success logic
} else {
// Error handling
}
// Build and send a delete request with QuickBaseCommandBuilder
var deleteRequest = new QuickBaseCommandBuilder()
.ForTable("your_table_id")
.WithDeletionCriteria("{6.EX.'hello'}")
.BuildDeleteCommand();
// Process the response
var result = await quickbaseClient.DeleteRecords(deleteRequest);
if (result.IsSuccess) {
// Success logic
} else {
// Error handling
}
// Construct a query with QueryBuilder
var query = new QueryBuilder()
.From("bck7gp3q2")
.Select(1, 2, 3)
.Where("{1.CT.'hello'}")
.SortBy(4, "ASC")
.SortBy(5, "ASC")
.GroupBy(6, "equal-values")
.Build();
// Execute the query and process the response
var result = await quickbaseClient.QueryRecords(query);
if (result.IsSuccess) {
// Success logic
} else {
// Error handling
}
Contributions are
greatly appreciated and help make the open-source community an amazing place to learn, inspire, and create. Feel free to contribute!
Distributed under the MIT License. See LICENSE for more information.