Added common language enum. Fixed "romaji" spelling. More UI updates.

This commit is contained in:
2025-06-08 11:13:52 -04:00
parent 70513559cb
commit b5d22c3c7e
20 changed files with 224 additions and 55 deletions

View File

@@ -10,11 +10,14 @@ public partial class MangaPipeline(MangaContext context) : IMangaPipeline
public async Task RunAsync(MangaPipelineRequest request)
{
string sourceName = request.SourceName;
string sourceUrl = request.SourceUrl;
SourceManga sourceManga = request.SourceManga;
Source source = await GetOrAddSourceAsync(sourceName);
Manga manga = await GetOrAddMangaAsync(sourceManga);
await AddMangaSourceAsync(sourceUrl, manga, source);
foreach (SourceMangaTitle alternateTitle in sourceManga.AlternateTitles)
{
await AddTitleAsync(manga, alternateTitle);
@@ -83,6 +86,24 @@ public partial class MangaPipeline(MangaContext context) : IMangaPipeline
[GeneratedRegex(@"\s+")]
private static partial Regex RemoveSpacesWithDashRegex();
private async Task AddMangaSourceAsync(string sourceUrl, Manga manga, Source source)
{
MangaSource? mangaSource = await context.MangaSources.FirstOrDefaultAsync(ms =>
ms.Manga == manga && ms.Source == source && ms.Url == sourceUrl);
if (mangaSource != null)
return;
mangaSource = new()
{
Manga = manga,
Source = source,
Url = sourceUrl
};
context.MangaSources.Add(mangaSource);
}
private async Task AddTitleAsync(Manga manga, SourceMangaTitle sourceMangaTitle)
{
MangaTitle? mangaTitle = await context.MangaTitles.FirstOrDefaultAsync(mt =>

View File

@@ -5,5 +5,6 @@ namespace MangaReader.Core.Pipeline;
public class MangaPipelineRequest
{
public required string SourceName { get; init; }
public required string SourceUrl { get; init; }
public required SourceManga SourceManga { get; init; }
}