Moved relevant application layer enums and value objects to the domain layer.

This commit is contained in:
2025-11-01 01:19:34 -04:00
parent 4121bd94d9
commit 14129a8bba
48 changed files with 255 additions and 162 deletions

View File

@@ -1,6 +1,5 @@
using JSMR.Application.Common;
using JSMR.Domain.ValueObjects;
using JSMR.Infrastructure.Common.Locales;
using JSMR.Infrastructure.Common.SupportedLanguages;
namespace JSMR.Infrastructure.Scanning;
@@ -35,9 +34,9 @@ public class DLSiteSearchFilterBuilder
return this;
}
public DLSiteSearchFilterBuilder IncludeSupportedLanguages(ISupportedLanguage[] languages)
public DLSiteSearchFilterBuilder IncludeSupportedLanguages(SupportedLanguage[] languages)
{
foreach (ISupportedLanguage language in languages)
foreach (SupportedLanguage language in languages)
{
IncludeSupportedLanguage(language);
}
@@ -45,7 +44,7 @@ public class DLSiteSearchFilterBuilder
return this;
}
public DLSiteSearchFilterBuilder IncludeSupportedLanguage(ISupportedLanguage language)
public DLSiteSearchFilterBuilder IncludeSupportedLanguage(SupportedLanguage language)
{
AddToOptionsAnd(language.Code);

View File

@@ -1,4 +1,5 @@
using JSMR.Infrastructure.Common.Locales;
using JSMR.Domain.ValueObjects;
using JSMR.Infrastructure.Common.Locales;
using JSMR.Infrastructure.Common.SupportedLanguages;
namespace JSMR.Infrastructure.Scanning;
@@ -17,36 +18,31 @@ public static class DLSiteSearchFilterBuilderExtensions
public static DLSiteSearchFilterBuilder IncludeJapaneseSupportedLanguage(this DLSiteSearchFilterBuilder searchFilterBuilder)
{
return searchFilterBuilder.IncludeSupportedLanguage(new JapaneseLanguage());
return searchFilterBuilder.IncludeSupportedLanguage(SupportedLanguage.Japanese);
}
public static DLSiteSearchFilterBuilder IncludeEnglishSupportedLanguage(this DLSiteSearchFilterBuilder searchFilterBuilder)
{
return searchFilterBuilder.IncludeSupportedLanguage(new EnglishLanguage());
}
public static DLSiteSearchFilterBuilder IncludeChineseSupportedLanguage(this DLSiteSearchFilterBuilder searchFilterBuilder)
{
return searchFilterBuilder.IncludeSupportedLanguage(new ChineseLanguage());
return searchFilterBuilder.IncludeSupportedLanguage(SupportedLanguage.English);
}
public static DLSiteSearchFilterBuilder IncludeSimplifiedChineseSupportedLanguage(this DLSiteSearchFilterBuilder searchFilterBuilder)
{
return searchFilterBuilder.IncludeSupportedLanguage(new SimplifiedChineseLanguage());
return searchFilterBuilder.IncludeSupportedLanguage(SupportedLanguage.ChineseSimplified);
}
public static DLSiteSearchFilterBuilder IncludeTraditionalChineseSupportedLanguage(this DLSiteSearchFilterBuilder searchFilterBuilder)
{
return searchFilterBuilder.IncludeSupportedLanguage(new TraditionalChineseLanguage());
return searchFilterBuilder.IncludeSupportedLanguage(SupportedLanguage.ChineseTraditional);
}
public static DLSiteSearchFilterBuilder IncludeKoreanSupportedLanguage(this DLSiteSearchFilterBuilder searchFilterBuilder)
{
return searchFilterBuilder.IncludeSupportedLanguage(new KoreanLanguage());
return searchFilterBuilder.IncludeSupportedLanguage(SupportedLanguage.Korean);
}
public static DLSiteSearchFilterBuilder IncludeAlingualSupportedLanguage(this DLSiteSearchFilterBuilder searchFilterBuilder)
{
return searchFilterBuilder.IncludeSupportedLanguage(new AlingualLanguage());
return searchFilterBuilder.IncludeSupportedLanguage(SupportedLanguage.Alingual);
}
}

View File

@@ -1,4 +1,5 @@
using JSMR.Application.Common;
using JSMR.Domain.ValueObjects;
using JSMR.Infrastructure.Common.Locales;
using JSMR.Infrastructure.Common.SupportedLanguages;
using JSMR.Infrastructure.Http;
@@ -17,11 +18,11 @@ public partial class EnglishVoiceWorksScanner(IHtmlLoader loader) : VoiceWorksSc
protected override ILocale Locale => new EnglishLocale();
protected override ISupportedLanguage[] SupportedLanguages =>
protected override SupportedLanguage[] SupportedLanguages =>
[
new JapaneseLanguage(),
new EnglishLanguage(),
new AlingualLanguage()
SupportedLanguage.Japanese,
SupportedLanguage.English,
SupportedLanguage.Alingual
];
protected override DateOnly? GetEstimatedReleaseDate(string expectedDate)

View File

@@ -1,4 +1,5 @@
using JSMR.Application.Common;
using JSMR.Domain.ValueObjects;
using JSMR.Infrastructure.Common.Locales;
using JSMR.Infrastructure.Common.SupportedLanguages;
using JSMR.Infrastructure.Http;
@@ -16,14 +17,14 @@ public partial class JapaneseVoiceWorksScanner(IHtmlLoader loader) : VoiceWorksS
protected override ILocale Locale => new JapaneseLocale();
protected override ISupportedLanguage[] SupportedLanguages =>
protected override SupportedLanguage[] SupportedLanguages =>
[
new JapaneseLanguage(),
new EnglishLanguage(),
new TraditionalChineseLanguage(),
new SimplifiedChineseLanguage(),
new KoreanLanguage(),
new AlingualLanguage()
SupportedLanguage.Japanese,
SupportedLanguage.English,
SupportedLanguage.ChineseTraditional,
SupportedLanguage.ChineseSimplified,
SupportedLanguage.Korean,
SupportedLanguage.Alingual
];
protected override DateOnly? GetEstimatedReleaseDate(string expectedDate)

View File

@@ -1,21 +1,20 @@
using HtmlAgilityPack;
using JSMR.Application.Common;
using JSMR.Application.Scanning.Contracts;
using JSMR.Application.Scanning.Ports;
using JSMR.Domain.Enums;
using JSMR.Domain.ValueObjects;
using JSMR.Infrastructure.Common.Locales;
using JSMR.Infrastructure.Common.SupportedLanguages;
using JSMR.Infrastructure.Http;
using JSMR.Infrastructure.Scanning.Models;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Xml.Linq;
namespace JSMR.Infrastructure.Scanning;
public abstract class VoiceWorksScanner(IHtmlLoader htmlLoader) : IVoiceWorksScanner
{
protected abstract ILocale Locale { get; }
protected abstract ISupportedLanguage[] SupportedLanguages { get; }
protected abstract SupportedLanguage[] SupportedLanguages { get; }
protected abstract DateOnly? GetEstimatedReleaseDate(string expectedDate);
protected abstract DateOnly? GetSalesDate(string salesDate);