diff options
Diffstat (limited to 'code/api/src/Endpoints/V1/Customers')
| -rw-r--r-- | code/api/src/Endpoints/V1/Customers/CreateCustomerRoute.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/code/api/src/Endpoints/V1/Customers/CreateCustomerRoute.cs b/code/api/src/Endpoints/V1/Customers/CreateCustomerRoute.cs index eb69f7f..b20b404 100644 --- a/code/api/src/Endpoints/V1/Customers/CreateCustomerRoute.cs +++ b/code/api/src/Endpoints/V1/Customers/CreateCustomerRoute.cs @@ -16,9 +16,14 @@ public class CreateCustomerRoute : RouteBaseAsync.WithRequest<CreateCustomerPayl [HttpPost("~/v{version:apiVersion}/customers/create")] public override async Task<ActionResult> HandleAsync(CreateCustomerPayload request, CancellationToken cancellationToken = default) { - var errors = new Dictionary<string, string>(); - if (request.Name.Trim().IsNullOrEmpty()) errors.Add("name", _localizer["Name is a required field"]); - if (errors.Any()) return KnownProblem(_localizer["Invalid form"], _localizer["One or more fields is invalid"], errors); + var problem = new KnownProblemModel(); + if (request.Name.Trim().IsNullOrEmpty()) problem.AddError("name", _localizer["Name is a required field"]); + if (problem.Errors.Any()) { + problem.Title = _localizer["Invalid form"]; + problem.Subtitle = _localizer["One or more validation errors occured"]; + return KnownProblem(problem); + } + var customer = new Customer(LoggedInUser) { CustomerNumber = request.CustomerNumber, Name = request.Name, |
