diff --git a/Harmony.AspNetCore/Harmony.AspNetCore.synproj b/Harmony.AspNetCore/Harmony.AspNetCore.synproj
index 15f2ce94..9a81bb77 100644
--- a/Harmony.AspNetCore/Harmony.AspNetCore.synproj
+++ b/Harmony.AspNetCore/Harmony.AspNetCore.synproj
@@ -38,10 +38,12 @@
bin\AnyCPU\ReleaseNuget\
+
+ 2.2.5
+
-
@@ -50,6 +52,7 @@
+
diff --git a/Harmony.AspNetCore/ValidationHelper.dbl b/Harmony.AspNetCore/ValidationHelper.dbl
new file mode 100644
index 00000000..bad7683e
--- /dev/null
+++ b/Harmony.AspNetCore/ValidationHelper.dbl
@@ -0,0 +1,31 @@
+import System
+import System.Collections.Generic
+import System.Text
+import Microsoft.AspNetCore.Mvc
+import Microsoft.AspNetCore.Mvc.ModelBinding
+
+namespace Harmony.AspNetCore
+
+ public class ValidationHelper
+
+ public static method ReturnValidationError, @IActionResult
+ state, @ModelStateDictionary
+ proc
+ data errorText = new List()
+ data errorPair, @KeyValuePair
+
+ foreach errorPair in state
+ begin
+ data errorValue, @ModelError
+ foreach errorValue in errorPair.Value.Errors
+ begin
+ errorText.Add(errorValue.ErrorMessage)
+ end
+ end
+
+ mreturn new BadRequestObjectResult(string.Join(%char(13) + %char(10), errorText))
+ endmethod
+
+ endclass
+
+endnamespace
diff --git a/Services.Controllers/CustomerNotesController.dbl b/Services.Controllers/CustomerNotesController.dbl
index ca93c84b..e0d3aa7c 100644
--- a/Services.Controllers/CustomerNotesController.dbl
+++ b/Services.Controllers/CustomerNotesController.dbl
@@ -21,6 +21,7 @@ import System.ComponentModel.DataAnnotations
import Harmony.Core.EF.Extensions
import Harmony.Core.Interface
import Harmony.OData
+import Harmony.AspNetCore
import Newtonsoft.Json
import Services.Models
@@ -129,7 +130,7 @@ namespace Services.Controllers
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Get the next available primary key value
disposable data keyFactory = (@IPrimaryKeyFactory)_ServiceProvider.GetService(^typeof(IPrimaryKeyFactory))
@@ -144,7 +145,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -166,7 +167,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Ensure that the key values in the URI win over any data that may be in the model object
aCustomerNote.CustomerNumber = aCustomerNumber
@@ -195,7 +196,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -215,7 +216,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Patch the existing customerNote
try
@@ -244,7 +245,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
diff --git a/Services.Controllers/CustomersController.dbl b/Services.Controllers/CustomersController.dbl
index 44f56515..b1cc220b 100644
--- a/Services.Controllers/CustomersController.dbl
+++ b/Services.Controllers/CustomersController.dbl
@@ -21,6 +21,7 @@ import System.ComponentModel.DataAnnotations
import Harmony.Core.EF.Extensions
import Harmony.Core.Interface
import Harmony.OData
+import Harmony.AspNetCore
import Newtonsoft.Json
import Services.Models
@@ -360,7 +361,7 @@ namespace Services.Controllers
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Get the next available primary key value
disposable data keyFactory = (@IPrimaryKeyFactory)_ServiceProvider.GetService(^typeof(IPrimaryKeyFactory))
@@ -375,7 +376,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -397,7 +398,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Ensure that the key values in the URI win over any data that may be in the model object
aCustomer.CustomerNumber = aCustomerNumber
@@ -426,7 +427,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -446,7 +447,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Patch the existing customer
try
@@ -475,7 +476,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
diff --git a/Services.Controllers/ItemsController.dbl b/Services.Controllers/ItemsController.dbl
index 8ac0cc82..97b9daf9 100644
--- a/Services.Controllers/ItemsController.dbl
+++ b/Services.Controllers/ItemsController.dbl
@@ -21,6 +21,7 @@ import System.ComponentModel.DataAnnotations
import Harmony.Core.EF.Extensions
import Harmony.Core.Interface
import Harmony.OData
+import Harmony.AspNetCore
import Newtonsoft.Json
import Services.Models
@@ -521,7 +522,7 @@ namespace Services.Controllers
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Get the next available primary key value
disposable data keyFactory = (@IPrimaryKeyFactory)_ServiceProvider.GetService(^typeof(IPrimaryKeyFactory))
@@ -536,7 +537,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -558,7 +559,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Ensure that the key values in the URI win over any data that may be in the model object
aItem.ItemNumber = aItemNumber
@@ -587,7 +588,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -607,7 +608,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Patch the existing item
try
@@ -636,7 +637,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
diff --git a/Services.Controllers/OrderItemsController.dbl b/Services.Controllers/OrderItemsController.dbl
index 77a01c42..5d1d26c7 100644
--- a/Services.Controllers/OrderItemsController.dbl
+++ b/Services.Controllers/OrderItemsController.dbl
@@ -21,6 +21,7 @@ import System.ComponentModel.DataAnnotations
import Harmony.Core.EF.Extensions
import Harmony.Core.Interface
import Harmony.OData
+import Harmony.AspNetCore
import Newtonsoft.Json
import Services.Models
@@ -254,7 +255,7 @@ namespace Services.Controllers
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Get the next available primary key value
disposable data keyFactory = (@IPrimaryKeyFactory)_ServiceProvider.GetService(^typeof(IPrimaryKeyFactory))
@@ -269,7 +270,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -294,7 +295,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Ensure that the key values in the URI win over any data that may be in the model object
aOrderItem.OrderNumber = aOrderNumber
@@ -324,7 +325,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -347,7 +348,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Patch the existing orderItem
try
@@ -376,7 +377,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
diff --git a/Services.Controllers/OrdersController.dbl b/Services.Controllers/OrdersController.dbl
index b47a0fa9..24e6b1bc 100644
--- a/Services.Controllers/OrdersController.dbl
+++ b/Services.Controllers/OrdersController.dbl
@@ -21,6 +21,7 @@ import System.ComponentModel.DataAnnotations
import Harmony.Core.EF.Extensions
import Harmony.Core.Interface
import Harmony.OData
+import Harmony.AspNetCore
import Newtonsoft.Json
import Services.Models
@@ -252,7 +253,7 @@ namespace Services.Controllers
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Get the next available primary key value
disposable data keyFactory = (@IPrimaryKeyFactory)_ServiceProvider.GetService(^typeof(IPrimaryKeyFactory))
@@ -267,7 +268,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -289,7 +290,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Ensure that the key values in the URI win over any data that may be in the model object
aOrder.OrderNumber = aOrderNumber
@@ -318,7 +319,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -338,7 +339,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Patch the existing order
try
@@ -367,7 +368,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
diff --git a/Services.Controllers/VendorsController.dbl b/Services.Controllers/VendorsController.dbl
index 9c63b7f2..691b5d20 100644
--- a/Services.Controllers/VendorsController.dbl
+++ b/Services.Controllers/VendorsController.dbl
@@ -21,6 +21,7 @@ import System.ComponentModel.DataAnnotations
import Harmony.Core.EF.Extensions
import Harmony.Core.Interface
import Harmony.OData
+import Harmony.AspNetCore
import Newtonsoft.Json
import Services.Models
@@ -306,7 +307,7 @@ namespace Services.Controllers
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Get the next available primary key value
disposable data keyFactory = (@IPrimaryKeyFactory)_ServiceProvider.GetService(^typeof(IPrimaryKeyFactory))
@@ -321,7 +322,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -343,7 +344,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Ensure that the key values in the URI win over any data that may be in the model object
aVendor.VendorNumber = aVendorNumber
@@ -372,7 +373,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -392,7 +393,7 @@ namespace Services.Controllers
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Patch the existing vendor
try
@@ -421,7 +422,7 @@ namespace Services.Controllers
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
diff --git a/Templates/ODataController.tpl b/Templates/ODataController.tpl
index eba644b1..077e7a26 100644
--- a/Templates/ODataController.tpl
+++ b/Templates/ODataController.tpl
@@ -61,6 +61,7 @@ import System.ComponentModel.DataAnnotations
import Harmony.Core.EF.Extensions
import Harmony.Core.Interface
import Harmony.OData
+import Harmony.AspNetCore
import Newtonsoft.Json
import
@@ -421,7 +422,7 @@ namespace
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Get the next available primary key value
disposable data keyFactory = (@IPrimaryKeyFactory)_ServiceProvider.GetService(^typeof(IPrimaryKeyFactory))
@@ -436,7 +437,7 @@ namespace
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -499,7 +500,7 @@ namespace
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Ensure that the key values in the URI win over any data that may be in the model object
@@ -541,7 +542,7 @@ namespace
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry
@@ -602,7 +603,7 @@ namespace
proc
;; Validate inbound data
if (!ModelState.IsValid)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
;;Patch the existing
try
@@ -631,7 +632,7 @@ namespace
catch (e, @ValidationException)
begin
ModelState.AddModelError("RelationValidation",e.Message)
- mreturn BadRequest(ModelState)
+ mreturn ValidationHelper.ReturnValidationError(ModelState)
end
endtry