{"id":21842943,"url":"https://github.com/hazeliscoding/quickbase-net","last_synced_at":"2025-03-21T16:15:45.526Z","repository":{"id":210971722,"uuid":"727882291","full_name":"hazeliscoding/quickbase-net","owner":"hazeliscoding","description":"Unofficial Quickbase JSON API wrapper for .NET. Provides Query and Command builders for querying and adding/editing records.","archived":false,"fork":false,"pushed_at":"2024-02-22T04:55:41.000Z","size":77,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T06:52:13.219Z","etag":null,"topics":["api-wrapper","csharp","dotnet","quickbase","quickbase-api"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hazeliscoding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-12-05T19:14:03.000Z","updated_at":"2024-05-29T04:38:42.000Z","dependencies_parsed_at":"2024-02-16T16:55:30.853Z","dependency_job_id":null,"html_url":"https://github.com/hazeliscoding/quickbase-net","commit_stats":null,"previous_names":["ducksoop/quickbase-net","hazeliscoding/quickbase-net"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hazeliscoding%2Fquickbase-net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hazeliscoding%2Fquickbase-net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hazeliscoding%2Fquickbase-net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hazeliscoding%2Fquickbase-net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hazeliscoding","download_url":"https://codeload.github.com/hazeliscoding/quickbase-net/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244825654,"owners_count":20516592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","csharp","dotnet","quickbase","quickbase-api"],"created_at":"2024-11-27T22:13:48.968Z","updated_at":"2025-03-21T16:15:45.497Z","avatar_url":"https://github.com/hazeliscoding.png","language":"C#","readme":"# QuickbaseNet 🚀 [![NuGet](https://img.shields.io/nuget/v/QuickbaseNet?label=NuGet\u0026logo=nuget\u0026style=flat-square)](https://www.nuget.org/packages/QuickbaseNet/)\n\n## 📋 Overview\n\nQuickbaseNet 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.\n\n## ✨ Features\n\n- **Fluent Interface 🌊**: Engage with methods that allow for easy and intuitive construction of various requests.\n- **Comprehensive CRUD Operations 🛠️**: Use `QuickBaseCommandBuilder` to add new records, update existing ones, or delete records with efficiency.\n- **Enhanced Record Management 📈**: Improved `RecordBuilder` for more intuitive record modifications and additions.\n- **Advanced Query Support 🔍**: Leverage `QueryBuilder` to construct complex query requests effortlessly.\n- **Seamless Client Setup 🌐**: Initialize connections with `QuickbaseClient`, providing a secure and straightforward way to interact with the API.\n\n## 💾 Installation\n\nGet started with QuickbaseNet by installing it via NuGet or cloning the repository:\n\n```bash\n# Install via NuGet\nInstall-Package QuickbaseNet\n\n# Or clone the repository\ngit clone https://github.com/ducksoop/quickbase-net.git\n```\n\n## 🛠️ Usage\n\nQuickbaseNet simplifies QuickBase API interactions. Below are examples showcasing its main features:\n\n### Initializing QuickbaseClient 🌟\n\n```csharp\n// Initialize QuickbaseClient with your realm hostname and user token\nvar quickbaseClient = new QuickbaseClient(\"your_realm_hostname\", \"your_user_token\");\n```\n\n### Handling API Responses 📬\n\n#### Inserting Records\n\n```csharp\n// Use QuickBaseCommandBuilder to configure and build an insert request\nvar insertRequest = new QuickBaseCommandBuilder()\n    .ForTable(\"your_table_id\")\n    .ReturnFields(1, 2, 3)\n    .AddNewRecord(record =\u003e record\n        .AddFields(\n            (6, \"New record description\"),\n            (7, 100),\n            (9, \"2024-02-13\"))\n    )\n    .BuildInsertUpdateCommand();\n\n// Send the request and handle the response\nvar result = await quickbaseClient.InsertRecords(insertRequest);\n\nif (result.IsSuccess) {\n    // Success logic\n} else {\n    // Error handling\n}\n```\n\n#### Updating Records\n\n```csharp\n// Configure and build an update request with QuickBaseCommandBuilder\nvar updateRequest = new QuickBaseCommandBuilder()\n    .ForTable(\"your_table_id\")\n    .ReturnFields(1, 2, 3) // Specify which fields to return after the update operation\n    .UpdateRecord(8, record =\u003e record // Specify the record to update based on its record ID (8 in this example)\n        .AddField(7, 150) // Update field 7 with a new value\n        .AddField(9, \"2024-02-15\")) // Update field 9 with a new value\n    .BuildInsertUpdateCommand();    .BuildInsertUpdateCommand();\n\n// Send the request and handle the response\nvar result = await quickbaseClient.UpdateRecords(updateRequest);\n\nif (result.IsSuccess) {\n    // Success logic\n} else {\n    // Error handling\n}\n```\n\n#### Deleting Records\n\n```csharp\n// Build and send a delete request with QuickBaseCommandBuilder\nvar deleteRequest = new QuickBaseCommandBuilder()\n    .ForTable(\"your_table_id\")\n    .WithDeletionCriteria(\"{6.EX.'hello'}\")\n    .BuildDeleteCommand();\n\n// Process the response\nvar result = await quickbaseClient.DeleteRecords(deleteRequest);\n\nif (result.IsSuccess) {\n    // Success logic\n} else {\n    // Error handling\n}\n```\n\n### QueryBuilder - Precision in Crafting Queries 🔎\n\n#### Building and Sending a Query 📤\n\n```csharp\n// Construct a query with QueryBuilder\nvar query = new QueryBuilder()\n    .From(\"bck7gp3q2\")\n    .Select(1, 2, 3)\n    .Where(\"{1.CT.'hello'}\")\n    .SortBy(4, \"ASC\")\n    .SortBy(5, \"ASC\")\n    .GroupBy(6, \"equal-values\")\n    .Build();\n\n// Execute the query and process the response\nvar result = await quickbaseClient.QueryRecords(query);\n\nif (result.IsSuccess) {\n    // Success logic\n} else {\n    // Error handling\n}\n```\n\n## 👐 Contributing\n\nContributions are\n\n greatly appreciated and help make the open-source community an amazing place to learn, inspire, and create. Feel free to contribute!\n\n## 📜 License\n\nDistributed under the MIT License. See [LICENSE](https://github.com/ducksoop/quickbase-net/blob/master/LICENSE.txt) for more information.\n\n## 📚 Additional Resources\n\n- [QuickBase API Documentation](https://developer.quickbase.com)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhazeliscoding%2Fquickbase-net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhazeliscoding%2Fquickbase-net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhazeliscoding%2Fquickbase-net/lists"}