diff --git a/src/YuckQi.Domain.Services/YuckQi.Domain.Services.csproj b/src/YuckQi.Domain.Services/YuckQi.Domain.Services.csproj
index f3734d7..d8ec536 100644
--- a/src/YuckQi.Domain.Services/YuckQi.Domain.Services.csproj
+++ b/src/YuckQi.Domain.Services/YuckQi.Domain.Services.csproj
@@ -4,7 +4,7 @@
netstandard2.0
true
Kevin J Lambert
- 1.3.0
+ 1.3.1
LICENSE
A .NET library for bootstrapping a domain services project.
diff --git a/src/YuckQi.Domain.Validation/Extensions/AbstractValidatorExtensions.cs b/src/YuckQi.Domain.Validation/Extensions/AbstractValidatorExtensions.cs
index 8c4bafa..e4b1c9c 100644
--- a/src/YuckQi.Domain.Validation/Extensions/AbstractValidatorExtensions.cs
+++ b/src/YuckQi.Domain.Validation/Extensions/AbstractValidatorExtensions.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Threading.Tasks;
using FluentValidation;
using FluentValidation.Results;
@@ -10,14 +11,29 @@ public static class AbstractValidatorExtensions
{
public static Result GetResult(this AbstractValidator validator, T item, String failedValidationMessageId)
{
- var result = validator.Validate(item);
- if (result == null)
- throw new ArgumentNullException(nameof(result));
+ var validationResult = validator.Validate(item);
+ var result = BuildResult(validationResult, item, failedValidationMessageId);
- if (result.IsValid)
+ return result;
+ }
+
+ public static async Task> GetResultAsync(this AbstractValidator validator, T item, String failedValidationMessageId)
+ {
+ var validationResult = await validator.ValidateAsync(item);
+ var result = BuildResult(validationResult, item, failedValidationMessageId);
+
+ return result;
+ }
+
+ private static Result BuildResult(ValidationResult validationResult, T item, String failedValidationMessageId)
+ {
+ if (validationResult == null)
+ throw new ArgumentNullException(nameof(validationResult));
+
+ if (validationResult.IsValid)
return new Result(item);
- return new Result(default, GetResultDetail(result, failedValidationMessageId));
+ return new Result(default, GetResultDetail(validationResult, failedValidationMessageId));
}
private static IReadOnlyCollection GetResultDetail(ValidationResult result, String failedValidationMessageId)
diff --git a/src/YuckQi.Domain.Validation/YuckQi.Domain.Validation.csproj b/src/YuckQi.Domain.Validation/YuckQi.Domain.Validation.csproj
index f56e229..eea7979 100644
--- a/src/YuckQi.Domain.Validation/YuckQi.Domain.Validation.csproj
+++ b/src/YuckQi.Domain.Validation/YuckQi.Domain.Validation.csproj
@@ -4,7 +4,7 @@
netstandard2.0
true
Kevin J Lambert
- 1.3.0
+ 1.3.1
LICENSE
A .NET library providing domain validation fundamentals.
diff --git a/src/YuckQi.Domain/YuckQi.Domain.csproj b/src/YuckQi.Domain/YuckQi.Domain.csproj
index 7d9c6a6..90a9c6c 100644
--- a/src/YuckQi.Domain/YuckQi.Domain.csproj
+++ b/src/YuckQi.Domain/YuckQi.Domain.csproj
@@ -4,7 +4,7 @@
netstandard2.0
true
Kevin J Lambert
- 1.3.0
+ 1.3.1
LICENSE
A .NET library for bootstrapping a domain model project.