mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
feat(dir): ✨ add some domain layer validations
This commit is contained in:
parent
5cdd64ef41
commit
c56168f5f0
2 changed files with 22 additions and 0 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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 };
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue