Coffee.NetCore
1.8.2
See the version list below for details.
dotnet add package Coffee.NetCore --version 1.8.2
NuGet\Install-Package Coffee.NetCore -Version 1.8.2
<PackageReference Include="Coffee.NetCore" Version="1.8.2" />
<PackageVersion Include="Coffee.NetCore" Version="1.8.2" />
<PackageReference Include="Coffee.NetCore" />
paket add Coffee.NetCore --version 1.8.2
#r "nuget: Coffee.NetCore, 1.8.2"
#:package Coffee.NetCore@1.8.2
#addin nuget:?package=Coffee.NetCore&version=1.8.2
#tool nuget:?package=Coffee.NetCore&version=1.8.2
[1.8.2] - 2025-07-28
Changed
- Fixed SqlFilter to allow multiple filters
[1.8.1] - 2025-04-25
Changed
- Resolved an exception thrown during data fetching due to improper
int
tolong
conversion.
[1.8.0] - 2025-04-02
Changed
- Now coffee uses long instead of int on base classes
[1.7.6] - 2025-01-13
Changed
- Fixed pagination bug, where the when we had multiples joins it wasn´t bring the total correctly.
[1.7.4] - 2024-08-17
Changed
- Assembly Selection Logic: Updated the logic for identifying the correct assembly by changing the condition from i.FullName.Contains("Coffee") to i.Name.Equals("Coffee"). This change resolves an issue where the previous logic could mistakenly match assemblies with similar names containing 'Coffee', leading to the wrong assembly being selected.
[1.7.3] - 2024-08-16
Changed
- Assembly Selection Logic: Updated the logic to identify the correct assembly by modifying the condition from !i.FullName.Contains("Coffee") && i.FullName.Contains(".Application") to !i.FullName.Contains("Coffee.Application") && i.FullName.Contains(".Application"). This change was necessary due to a conflict introduced by a previous project name contains 'Coffee', which caused the original condition to inadvertently exclude the correct assemblies.
[1.7.2] - 2024-08-13
Changed
- Network File Download Logic: The method for downloading files from an HTTP(S) source has been updated to use WebClient instead of HttpClient. The previous implementation with HttpClient involved manually handling the file stream, but now WebClient.DownloadFile simplifies this process by directly handling the file download.
- File Handling: Added a check to delete the existing file at fsPath if it already exists before downloading a new one. This prevents any potential conflicts or errors caused by trying to overwrite an existing file.
[1.7.1] - 2024-07-24
Changed
- Updated logic to determine the appropriate variable name for the parent model's ID in
DapperUpdateModelUtils
. The variable name now checks iflastInsertVariableIdPrefix
contains a number and uses it accordingly. This ensures proper handling of foreign key variables in SQL generation.
[1.7.0] - 2024-07-20
Added
- Introduced
QueueSettings
toCoffeeAppSettings
, allowing configuration of global and email-specific restriction times for queue processing. - Implemented
QueueService
to support task queuing with time restrictions, ensuring tasks are only executed within specified time windows. - Added
CoffeeMailService
which utilizes the newQueueService
for scheduling emails with time restrictions. - Integrated
Flurl.Http
for HTTP request building inRequestBuilderService
.
Changed
- Updated
CoffeeMailService
to use global queue settings if email-specific settings are not provided. - Refactored
QueueService
to utilizeCoffeeAppSettings
for global configuration, enhancing flexibility and maintainability. - Enhanced
QueueService
to handle UTC time comparisons for task execution, ensuring consistency across different environments.
Fixed
- Corrected SQL generation logic in
SQLBuilder.cs
to handle date and time formats accurately. - Resolved issue in
DapperUpdateModelUtils
where incorrect date formats were causing SQL execution errors. - Addressed a bug in
SQLGeneratorPropertyBuilderListTest
to ensure nested model and list handling is accurate. - Ensured proper processing of tasks in
QueueService
to avoid leaving tasks in the queue unnecessarily.
[1.6.4] - 2024-07-13
Fixed
- Resolved an issue where inserting a model with list that has elements with same parent woudn´t work.
[1.6.3] - 2024-07-13
Fixed
- Resolved an issue where calling
DeleteNotInList
with an empty list or null wouldn't generate the expected SQL, resulting inGenerateSqlForModel
returning an empty string.
Added
- Introduced the ability to directly invoke the following methods on
Update()
:DeleteNotInList<TProp>(Expression<Func<T, IList<TProp>>> expression)
: Specifies that records not present in a specified list should be deleted.InsertWhereIdZero<TProp>(Expression<Func<T, IList<TProp>>> expression)
: Specifies that a new record should be inserted for items in a list with an ID of zero.
[1.6.2] - 2024-07-12
Fixed
- Ensured that the final SQL statement generated by
GenerateSqlForModel
removes any duplicate semicolons, replacing sequences like "; ; ;" or ";;" with a single ";".
[1.6.0] - 2024-07-10
Added
- Added logging for duplicate properties, where properties, and whereIn properties in
ModelPropertyBuilder
. This ensures that duplicates are not added and appropriate messages are logged. - Introduced a new
GenerateSqlForModelList
method that accepts a list of indexes, allowing for customized handling of SQL generation for lists. - Added new test cases in
ModelPropertyBuilderTest
to validate the non-duplication logic for properties, where properties, and whereIn properties.
Fixed
- Corrected SQL generation order by ensuring nested SQL statements that set LAST_INSERT_ID are placed before SQL statements that reference those variables.
- Updated
DapperExtensionUtils.IsList
method to accurately check if a type is a list. - Fixed the grouping of properties in
GenerateSqlForModel
to handleINSERT_WHERE_ID_ZERO
andDELETE_NOT_IN_LIST
types correctly. - Adjusted the SQL generation logic to properly handle scenarios where a parent model and its nested models have interdependent foreign key references.
- Improved the logic in
GenerateSqlForModel
to avoid adding duplicate dynamic parameters when processing nested models.
Changed
- Refactored
ModelPropertyBuilder
methods to use private helper methods for adding properties and where properties, ensuring consistency and avoiding duplicates. - Enhanced SQL generation for nested models to ensure foreign key constraints are properly handled when the nested model's ID is zero.
- Updated
GenerateSqlForModelList
to filter values and return both the value and its index, improving accuracy in SQL generation for list properties.
[1.5.11] - 2024-07-05
Added
Introduced new test case in SQLGeneratorListAndNestedModelTest
to validate SQL generation for inserting models with nested model and objects, ensuring complex nested structures are handled correctly.
Added new test cases in SQLGeneratorNestedModelTest
to cover scenarios with nested models and lists, ensuring accurate SQL generation and parameter handling.
Changed
Improved logic in GenerateSqlForModel
method to fix issues with naming conventions for generated SQL, ensuring proper handling of nested model structures.
Refactored SQL generation logic to correctly order SQL statements and LAST_INSERT_ID
settings, ensuring proper dependency handling between nested models and lists.
Added comments to all model classes in Coffee.NetCore.Tests.Models to improve code readability and maintainability.
[1.5.10] - 2024-07-02
Added
Introduced new test case in SQLGeneratorListAndNestedModelTest
to validate SQL generation for inserting models with nested model and objects, ensuring complex nested structures are handled correctly.
Changed
Fix some issues found on GenerateSqlForModel
that would cause bad name convention for generate sql.
[1.5.0] - 2024-06-27
Added
- Introduced
AppendSqlPart
method inDapperUpdateModelUtils.cs
to streamline the appending process of SQL segments, ensuring proper formatting and semicolon management. - Added new tests in
SQLGeneratorPropertyBuilderModelListTest.cs
to cover cases focusing on updating lists and handling nested models within these lists. - Enhanced
Index.cs
with additional models to support broader testing scenarios.
Changed
- Modified
DapperModelPropertyBuilder.cs
to adjustInsertWhereIdZero
andDeleteNotInList
methods, ensuringPropertyType
is assigned using the expression's ReturnType and confirming the property is an IList. - Updated
DapperUpdateModelUtils.cs
to enhance theGenerateSqlForModel
method, improving handling of foreign keys and nested models within lists. This ensures SQL generation accurately handles complex nested structures. - Revised assertions in
DapperModelPropertyBuilderTest.cs
in theDeleteNotInList
andInsertWhereIdZero
tests to verify the property type is IList. - Implemented additional logic in
DapperUpdateModelUtils.cs
to handle scenarios where no direct properties of the model are updated, focusing solely on lists or nested models.
[1.4.0] - 2024-06-26
Added
- Comprehensive tests for PropertyBuilder functionality in
ModelPropertyBuilderTest
. - SQL generation tests in
SQLGeneratorPropertyBuilderModelTest
for simple models. SQLGeneratorPropertyBuilderNestedModelTest
to ensure correct handling of nested models.- New models in
Index.cs
for comprehensive testing. SQLGeneratorPropertyBuilderModelListTest
for testing updates involving list operations, specifically insertions and deletions.- 'NotIn' constant to
SqlBuilderType
for enhanced SQL condition flexibility. - PersonalInfo model in
Index.cs
to enhance testing capabilities.
Changed
- Refactored
DapperModelPropertyBuilder
andDapperUpdateModelUtils
to improve SQL generation logic for nested models. - Updated
Index.cs
and related models to support new testing frameworks and SQL generation methods. - Enhanced
GenerateSqlForModel
inDapperUpdateModelUtils
to improve handling of inserts and deletes within lists. - Updated
DapperUpdateModel
to utilize the revisedDapperUpdateModelUtils
and integratedPropertyBuilder
for streamlined updates.
[1.3.0] - 2024-06-19
Added
- Implemented tests for newly added functionalities.
- Added
GenerateSqlForModelList
to handle SQL generation for lists. - Added
SetModelPropertiesFromQueryFromList
to set model properties from a query for list data structures. - Modified
ExecuteBaseSave
to utilizeGenerateSqlForModelList
andSetModelPropertiesFromQueryFromList
for operations involving lists.
[1.2.13] - 2024-05-28
Added
- Added logic to handle cases where the property type name differs from the property name when
parentModel
is null. - Included a check to update data retrieval logic when
treePath
is not empty and contains a single segment.
[1.2.12] - 2024-05-27
Added
- Added
parentModel
parameter to the GetModelSQL method to handle parent-child relationships effectively.
Changed
- Refactored
GetModelSQL<TModel>
method to include logic for managing parent models during SQL generation. - Enhanced recursive SQL generation to correctly handle nested submodels and their foreign keys.
- Improved property and foreign key handling to ensure accurate SQL statements for complex model structures.
- Adjusted SQL variable binding and parameter addition logic to accommodate the new
parentModel
parameter. - Updated method documentation to reflect the changes and new functionality.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Autofac.Extensions.DependencyInjection (>= 8.0.0)
- AWSSDK.S3 (>= 3.7.202.1)
- coravel (>= 4.2.1)
- coverlet.collector (>= 3.2.0)
- Dapper (>= 2.0.123)
- DeepCopy (>= 1.0.3)
- Flurl.Http (>= 4.0.2)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 6.0.6)
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.0)
- Microsoft.NET.Test.Sdk (>= 17.6.0)
- Newtonsoft.Json (>= 13.0.1)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 6.0.0)
- NUnit (>= 3.13.3)
- NUnit.Analyzers (>= 3.6.1)
- NUnit3TestAdapter (>= 4.4.2)
- Pomelo.EntityFrameworkCore.MySql (>= 6.0.1)
- Serilog (>= 3.1.1)
- Serilog.Sinks.MariaDB (>= 1.0.1)
- Swashbuckle.AspNetCore (>= 6.3.1)
- System.Drawing.Common (>= 4.7.0)
- System.IdentityModel.Tokens.Jwt (>= 7.5.0)
- System.Net.Http (>= 4.3.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.8.3 | 102 | 8/4/2025 |
1.8.2 | 91 | 7/28/2025 |
1.8.1 | 250 | 4/25/2025 |
1.8.0 | 216 | 4/3/2025 |
1.7.6 | 302 | 1/13/2025 |
1.7.5 | 350 | 9/25/2024 |
1.7.4 | 192 | 8/17/2024 |
1.7.3 | 160 | 8/16/2024 |
1.7.2 | 569 | 8/13/2024 |
1.7.1 | 212 | 7/25/2024 |
1.7.0 | 183 | 7/19/2024 |
1.6.4 | 177 | 7/13/2024 |
1.6.3 | 139 | 7/13/2024 |
1.6.2 | 148 | 7/12/2024 |
1.6.0 | 144 | 7/11/2024 |
1.5.11 | 195 | 7/5/2024 |
1.5.10 | 132 | 7/2/2024 |
1.5.0 | 139 | 6/27/2024 |
1.4.0 | 154 | 6/26/2024 |
1.3.1 | 143 | 6/26/2024 |
1.3.0 | 188 | 6/19/2024 |
1.2.13 | 194 | 5/28/2024 |
1.2.12 | 145 | 5/27/2024 |
1.2.10 | 142 | 5/26/2024 |
1.2.1 | 138 | 5/24/2024 |
1.2.0 | 196 | 5/23/2024 |
1.1.31 | 229 | 5/16/2024 |
1.1.30 | 130 | 5/16/2024 |
1.1.25 | 157 | 5/16/2024 |
1.1.24 | 158 | 5/16/2024 |
1.1.23 | 202 | 5/13/2024 |
1.1.22 | 137 | 5/13/2024 |
1.1.21 | 146 | 5/13/2024 |
1.1.20 | 155 | 5/10/2024 |
1.1.19 | 172 | 5/9/2024 |
1.1.18 | 141 | 5/9/2024 |
1.1.17 | 148 | 5/8/2024 |
1.1.16 | 176 | 5/4/2024 |
1.1.15 | 141 | 4/24/2024 |
1.1.13 | 147 | 4/23/2024 |
1.1.12 | 146 | 4/23/2024 |
1.1.11 | 162 | 4/17/2024 |
1.1.10 | 187 | 4/8/2024 |
1.1.6 | 156 | 4/8/2024 |
1.1.5 | 142 | 4/4/2024 |
1.1.2 | 302 | 4/1/2024 |
1.1.1 | 237 | 3/26/2024 |
1.1.0 | 174 | 3/20/2024 |
1.0.11 | 187 | 3/17/2024 |
1.0.10 | 152 | 3/6/2024 |
1.0.8 | 164 | 3/6/2024 |
1.0.7 | 168 | 3/6/2024 |
1.0.6 | 172 | 3/5/2024 |
1.0.5 | 127 | 3/5/2024 |
1.0.0 | 154 | 2/28/2024 |
0.11.15 | 149 | 2/18/2024 |
0.11.14 | 186 | 2/6/2024 |
0.11.13 | 156 | 1/29/2024 |
0.11.12 | 235 | 1/23/2024 |
0.11.10 | 158 | 1/19/2024 |
0.11.0 | 151 | 1/19/2024 |
0.10.15 | 158 | 1/17/2024 |
0.10.9 | 155 | 1/16/2024 |
0.10.8 | 155 | 1/16/2024 |
0.10.7 | 162 | 1/16/2024 |
0.10.6 | 160 | 1/15/2024 |
0.10.5 | 151 | 1/15/2024 |
0.10.0 | 143 | 1/15/2024 |
0.9.6 | 300 | 12/5/2023 |
0.9.5 | 171 | 12/3/2023 |
0.9.3 | 241 | 10/7/2023 |
0.9.2 | 279 | 10/2/2023 |
0.9.1 | 193 | 9/30/2023 |
0.9.0 | 180 | 9/24/2023 |
0.8.2 | 240 | 9/15/2023 |
0.8.0 | 188 | 9/15/2023 |
0.7.2 | 231 | 9/11/2023 |
0.7.0 | 234 | 8/31/2023 |
0.6.5 | 188 | 8/30/2023 |
0.6.3 | 209 | 8/28/2023 |
0.6.2 | 203 | 8/28/2023 |
0.6.0 | 206 | 8/24/2023 |
0.5.9 | 194 | 8/24/2023 |
0.5.8 | 191 | 8/23/2023 |
0.5.7 | 182 | 8/23/2023 |
0.5.6 | 193 | 8/23/2023 |
0.5.5 | 201 | 8/23/2023 |
0.5.4 | 186 | 8/23/2023 |
0.5.3 | 205 | 8/22/2023 |
0.5.0 | 201 | 8/22/2023 |
0.4.0 | 225 | 8/21/2023 |
0.3.0 | 203 | 8/17/2023 |
0.2.10 | 214 | 8/13/2023 |
0.2.5 | 472 | 8/10/2023 |
0.2.0 | 256 | 8/3/2023 |
0.1.1 | 232 | 7/20/2023 |
0.1.0 | 235 | 7/17/2023 |
0.0.40 | 204 | 7/11/2023 |
0.0.35 | 206 | 7/11/2023 |
0.0.30 | 233 | 6/28/2023 |
0.0.28 | 240 | 6/9/2023 |
0.0.27 | 237 | 6/9/2023 |
0.0.26 | 230 | 6/3/2023 |
0.0.25 | 249 | 5/30/2023 |
0.0.24 | 225 | 5/29/2023 |
0.0.23 | 222 | 5/29/2023 |
0.0.22 | 233 | 5/25/2023 |
0.0.21 | 232 | 5/24/2023 |
0.0.20 | 292 | 5/14/2023 |
0.0.19 | 224 | 5/13/2023 |
0.0.18 | 204 | 5/13/2023 |
0.0.17 | 215 | 5/8/2023 |
0.0.16 | 229 | 5/8/2023 |
0.0.15 | 226 | 5/8/2023 |
0.0.14 | 266 | 5/1/2023 |
0.0.13 | 249 | 4/30/2023 |
0.0.12 | 234 | 4/30/2023 |
0.0.11 | 255 | 4/30/2023 |
0.0.10 | 250 | 4/27/2023 |
0.0.9 | 267 | 4/23/2023 |
0.0.8 | 262 | 4/23/2023 |
0.0.7 | 294 | 4/11/2023 |
0.0.6 | 280 | 4/11/2023 |
0.0.5 | 317 | 3/26/2023 |
0.0.4 | 309 | 3/26/2023 |
0.0.3 | 328 | 3/26/2023 |
0.0.2 | 311 | 3/26/2023 |
0.0.1 | 327 | 3/26/2023 |