Skip to content

Repository files navigation

QuickbaseNet 🚀 NuGet

📋 Overview

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.

✨ Features

  • 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.

💾 Installation

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

🛠️ Usage

QuickbaseNet simplifies QuickBase API interactions. Below are examples showcasing its main features:

Initializing QuickbaseClient 🌟

// Initialize QuickbaseClient with your realm hostname and user tokenvarquickbaseClient=newQuickbaseClient("your_realm_hostname","your_user_token");

Handling API Responses 📬

Inserting Records

// Use QuickBaseCommandBuilder to configure and build an insert requestvarinsertRequest=newQuickBaseCommandBuilder().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 responsevarresult=awaitquickbaseClient.InsertRecords(insertRequest);if(result.IsSuccess){// Success logic}else{// Error handling}

Updating Records

// Configure and build an update request with QuickBaseCommandBuildervarupdateRequest=newQuickBaseCommandBuilder().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 responsevarresult=awaitquickbaseClient.UpdateRecords(updateRequest);if(result.IsSuccess){// Success logic}else{// Error handling}

Deleting Records

// Build and send a delete request with QuickBaseCommandBuildervardeleteRequest=newQuickBaseCommandBuilder().ForTable("your_table_id").WithDeletionCriteria("{6.EX.'hello'}").BuildDeleteCommand();// Process the responsevarresult=awaitquickbaseClient.DeleteRecords(deleteRequest);if(result.IsSuccess){// Success logic}else{// Error handling}

QueryBuilder - Precision in Crafting Queries 🔎

Building and Sending a Query 📤

// Construct a query with QueryBuildervarquery=newQueryBuilder().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 responsevarresult=awaitquickbaseClient.QueryRecords(query);if(result.IsSuccess){// Success logic}else{// Error handling}

👐 Contributing

Contributions are

greatly appreciated and help make the open-source community an amazing place to learn, inspire, and create. Feel free to contribute!

📜 License

Distributed under the MIT License. See LICENSE for more information.

📚 Additional Resources

About

Unofficial Quickbase JSON API wrapper for .NET. Provides Query and Command builders for querying and adding/editing records.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages