Releases
v3.0.0
3.0.0 (2024-12-12)
⚠ BREAKING CHANGES
ConfigurationExtensions: change output of GetConfig
to nullable
BadRequestError: use Dictionary<string, List<string>> Errors
as custom field
refactor CollectionErrorDetail.cs to ErrorDetailList.cs
Detail: change default message of CreatedDetail.cs and AcceptedDetail.cs
Detail: update WarningDetail.cs
use Microsoft.AspNetCore.App
instead of deprecated packages
ResultDetail: change setter fields to protected init
WarningDetail:
AcceptedDetail: big changes. add some props, update constructor, etc
CreatedDetail: big changes. add some props, update constructor, etc
ResultDetail: make setter for properties public
ResultDetail: big changes
ActionResultView: In the previous version, 200 code was default for success result even we have not any value. But in this version we use 204 for null value.
ActionResult: rename ActionResultObject
to ActionResultView
ResultDetail: use Dictionary
instead of object
in GetViewModel
ErrorDetail: Exception
field is removed
ResultDetail: change output of AddDetail
method to void
Try: update error detail
ObjectExtensions: the IsNullOrEmpty
removed
MustExtensions: the MustNotNullOrEmpty
removed
ExceptionError: In constructor, default value for message
removed and we set exception.message
if it be null.
ResultDetail: improve ToString()
update dotnet sdk version to 8.0
ValidationError: In this version the ValidationError
is sealed
. So you can not inheritance from it. Create your custom class from ErrorDetail
.
ErrorDetail: ExceptionData
class has removed and replaced with Exception
class
Result: In the previous version, the value was added only when it was not null, but in this version, if the result is successful, it will be added anyway.
ResultBase: Result objects are more immutable.
ErrorDetail: Use ValidationError
instead of ArgumentError
ResultDetail: Instead of checking if MoreDetails
is null, check the number of elements in the list.
Increase minimum dotnet version to 6
rename IsSuccess
to Success
. fix #23
rename OnRail
to OnRails
add ToString()
to Result
and ResultDetails
Features
AcceptedAtActionDetail: add more constructor (475c7c1 )
AcceptedDetail: break it to multi classes (b6d56d6 )
ActionResult: add extensions (fe8c152 )
ActionResult: use asp action results for CreatedDetail
and AcceptedDetail
(aa0bf2c )
add NoContentDetail
(fed6fc0 )
add ResetContentDetail
(4ea15d3 )
add ToString()
to Result
and ResultDetails
(8bf83db )
add ToString()
to Result
and ResultDetails
(ce6850e )
add RemoveDetail (42dd061 )
add RequestTrackingMiddleware.cs (21c57a9 )
ConflictError: add objectIdentity filed (c04a5e8 )
CreatedAtActionDetail: add more constructor (ba2ca91 )
CreatedDetail: break it to multi classes (97be240 )
Detail: update WarningDetail.cs (6397fdc )
ErrorDetail: add HasErrorTypeOf
method (a63eaf2 )
ErrorDetail: add key-value error list to ErrorDetail
(3ea85a6 )
GetValuesExtensions: add GetValuesExtensions
class (aae4e79 )
InternalError: add status code to constructor parameters (38f2a38 )
make some fields more accessible for inherent classes (134b6e5 )
NotFoundError: use List<KeyValue<object?>>
for save object keys (ac1f3ba )
OnFailExtensions: add OnFailOperateWhen
extensions with Type
condition (e35c437 )
OnFailExtensions: add conditions base ErrorDetail or Exception type (bef8d69 )
OnFailThrowException: support async (d2ff11c )
OnSuccess: add OnSuccessAddMoreDetails
(b9bfa04 )
OnSuccess: add overloads (f182965 )
OnSuccessExtensions: add more extensions (fb24057 )
OnSuccessExtensions: add more extensions (92884e5 )
OperateWhenExtensions: add OperateWhen
extensions with Type
condition (0e9381f )
PartialContentDetail: add RangeData
class as custom data (04af280 )
Result: add GetViewValue
and GetViewStatusCode
methods (f33684e )
ResultBase: add IsDetailTypeOf
method (e45a084 )
ResultDetail: add IsTypeOf
method (33181f3 )
ResultDetail: add View
prop to determine the detail is suitable for view/user or not (993ad8f )
ResultDetail: add CollectionErrorDetail.cs (5f5c253 )
TeeUsing: add more methods (fa5a8e9 )
TeeUsing: add overloads (604da26 )
Try: add TryOnExceptions for func params that return Result
(without value) (f8e3481 ), closes #22
Using: add more methods for async types (19a6dc5 )
Using: add overloads (2487fe4 )
utility: add ResultDetailExtensions.cs (2454e5d )
ValidationError: add List<KeyValuePair<string, string>> errors
to constructor (7ccf110 )
WarningDetail: add new custom ResultDetail
(101c25b )
Bug Fixes
AcceptedDetail: big changes. add some props, update constructor, etc (dc223b9 )
ActionResult: improve ReturnAcceptedAtAction
methods (2671c95 )
ActionResult: improve ReturnCreatedAtLocation
methods (784bc24 )
ActionResultObject: fix using of GetStatusCodeOrDefault
(0312bf5 )
ActionResult: rename ActionResultObject
to ActionResultView
(a6892de )
ActionResultView: returns 204 code for null value (bc08f7e )
add [DebuggerStepThrough]
to KeyValue.cs (ba4b050 )
add Obsolete
attribute for non useful methods (e4d71a2 )
BadRequestError: use Dictionary<string, List<string>> Errors
as custom field (afbaad1 )
BadRequestError: use KeyValue<object?>
to save errors (f45a974 )
Break Result<T>
constructor (96218f3 )
change dotnet version from 3.1 to 6 (cb80623 )
classify and minor updates (9a92a40 )
CollectionErrorDetail: start i
in ToString()
from 1 (6ce221f )
ConfigurationExtensions: change output of GetConfig
to nullable (73b90e3 )
ConflictError: add GetViewModel
(66bb7d2 )
ConflictError: from now on, it will be a subclass of BadRequestError
(e7704d1 )
ConflictError: make errors
optional. (e51d89c )
CreatedDetail: big changes. add some props, update constructor, etc (8a64c92 )
Debugger: Use [DebuggerStepThrough]
(5d5b207 ), closes #32
Debugger: Use [DebuggerStepThrough]
for ResultBase
(50c6386 ), closes #32
Detail: change default message of CreatedDetail.cs and AcceptedDetail.cs (0b5ffbf )
ErrorDetail: add GetViewModel
(5df8171 )
ErrorDetail: improve ToString()
(3b44a76 )
ErrorDetail: Remove ArgumentError
(33221af )
ErrorDetail: remove ErrorDetail<T>
(9b279fa )
ErrorDetail: remove exception field (0677972 )
ErrorDetail: Use Exception
instead of ExceptionData
(9fa9cd5 )
ExceptionError: update default message (caac994 )
KeyValue: move it to Models
folder (f718589 )
KeyValue: use generic for KeyValue.cs (0ea122e )
MustExtensions: remove MustNotNullOrEmpty
as Obsolete
(4bae77b )
NotFoundError: chane type T
from string
to object
. (93b73f9 )
NotFoundError: use HashSet<string>
to store Keys
(95715ac )
NotFoundError: use sing id instead of error list for saving items. Also make it optional. (a77c30e )
NotImplementError: from now on, it will be a subclass of InternalError
(9fe5e89 )
ObjectExtensions: remove IsNullOrEmpty
as Obsolete
(6dc3f23 )
refactor CollectionErrorDetail.cs to ErrorDetailList.cs (903ee5a )
remove excess await
from TeeExtensions.Async.cs (9251a7e )
rename IsSuccess
to Success
. fix #23 (fc90402 )
rename OnRail
to OnRails
(25e42e6 )
ResultBase: Remove set
access from Success
prop (1c1247d )
ResultBase: remove default value for GetStatusCodeOrDefault
parameters (31d34f4 )
ResultDetail: big changes (764fa62 )
ResultDetail: change output of AddDetail
method to void
(543538d )
ResultDetail: change setter fields to protected init
(c1aa93c )
ResultDetail: improve ToString()
(08845d2 )
ResultDetail: make setter for properties public
(3d0113f )
ResultDetail: minor update in constructor logic (9e2dafe )
ResultDetail: Remove nullable from MoreDetails
(6404a21 ), closes #34
ResultDetail: use Dictionary
instead of object
in GetViewModel
(5505db8 )
Result: handling possible error in the execution of the errorDetailFunc
in OnRails.Result<T>.Fail
(3c9bfb5 )
Result: whether the Value
is null or not, it will be added to ToString
. (bf93d4f )
set view for success details to true
(cf86a81 )
stacktrace: get library namespace dynamically (a57ba39 )
StackTrace: remove frames related to OnRails
(2e7eaad )
Try: add this
key to source parameters (fad8c02 )
Try: update error detail (9162e21 )
Try: use CollectionErrorDetail
for save errors (0932cbe )
update dotnet sdk version to 8.0 (4fe06f3 )
update ResultDetail.cs (b01e3dd )
use Microsoft.AspNetCore.App
instead of deprecated packages (a577b25 )
use object
type as Errors
and improve ToString()
(bffbb0b )
Use new features of C# (1dc8e26 ), closes #30
Using: add await for async methods and refactor (107c4ad )
Using: rename T
to TSource
(a3a51f7 )
ValidationError: improve it to suitable for view (0ca6bcf )
ValidationError: make class sealed
(596ca49 )
ValidationError: match with BadRequestError
class (7aaf460 )
ValidationError: remove excess empty line for errors in ErrorsToString
method (876a42b )
ValidationError: use custom Errors
field with key-value structure (bca0d1c )
ValidationError: use custom KeyValue
record for errors. (67731bd )
WarningDetail: remove custom field (a5d7f2c )
You can’t perform that action at this time.