feat(dir): add some domain layer validations

This commit is contained in:
Collin M. Barrett 2021-11-22 17:40:42 -06:00
parent 5cdd64ef41
commit c56168f5f0
2 changed files with 22 additions and 0 deletions

View file

@ -48,6 +48,14 @@ public static FilterList CreatePendingApproval(
throw new ArgumentException("At lest one view URL is required.", nameof(viewUrls));
}
if (urls.GroupBy(u => new { u.SegmentNumber, u.Primariness })
.Any(g => g.Count() > 1))
{
throw new ArgumentException(
"The segment number and primariness pair must be unique for each view URL.",
nameof(viewUrls));
}
var list = new FilterList
{
Name = name,

View file

@ -10,6 +10,20 @@ protected FilterListViewUrl() { }
internal static FilterListViewUrl Create(short segmentNumber, short primariness, Uri url)
{
if (segmentNumber < 1)
{
throw new ArgumentException(
"The segment number must be greater than or equal to 1.",
nameof(segmentNumber));
}
if (primariness < 1)
{
throw new ArgumentException(
"The primariness must be greater than or equal to 1.",
nameof(segmentNumber));
}
return new FilterListViewUrl { SegmentNumber = segmentNumber, Primariness = primariness, Url = url };
}
}