Added English localization logic during the regular scan process.
This commit is contained in:
@@ -72,6 +72,7 @@ public class VoiceWorkUpdater(AppDbContext dbContext, ITimeProvider timeProvider
|
||||
.AsSplitQuery()
|
||||
.Include(v => v.Creators)
|
||||
.Include(v => v.Tags)
|
||||
.Include(v => v.EnglishVoiceWorks)
|
||||
.Include(v => v.Localizations)
|
||||
.Include(v => v.SupportedLanguages)
|
||||
.ToDictionaryAsync(v => v.ProductId, cancellationToken),
|
||||
@@ -161,6 +162,7 @@ public class VoiceWorkUpdater(AppDbContext dbContext, ITimeProvider timeProvider
|
||||
UpsertVoiceWorkCreators(ingest, upsertContext);
|
||||
UpsertVoiceWorkSupportedLanguages(ingest, upsertContext);
|
||||
UpsertSeries(ingest, upsertContext);
|
||||
UpsertVoiceWorkLocalizations(ingest, upsertContext);
|
||||
|
||||
return dbContext.Entry(voiceWork).State switch
|
||||
{
|
||||
@@ -473,4 +475,39 @@ public class VoiceWorkUpdater(AppDbContext dbContext, ITimeProvider timeProvider
|
||||
|
||||
return series;
|
||||
}
|
||||
|
||||
private void UpsertVoiceWorkLocalizations(VoiceWorkIngest ingest, VoiceWorkUpsertContext upsertContext)
|
||||
{
|
||||
// For now, just adding/updating English voice works
|
||||
foreach (VoiceWorkLocalizationIngest localizationIngest in ingest.Localizations)
|
||||
{
|
||||
if (localizationIngest.Language is Language.English)
|
||||
{
|
||||
EnglishVoiceWork englishVoiceWork = GetOrAddEnglishVoiceWork(ingest, upsertContext);
|
||||
englishVoiceWork.ProductName = localizationIngest.Title ?? string.Empty;
|
||||
englishVoiceWork.Description = localizationIngest.Description ?? string.Empty;
|
||||
englishVoiceWork.IsValid = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private EnglishVoiceWork GetOrAddEnglishVoiceWork(VoiceWorkIngest ingest, VoiceWorkUpsertContext upsertContext)
|
||||
{
|
||||
VoiceWork voiceWork = upsertContext.VoiceWorks[ingest.ProductId];
|
||||
EnglishVoiceWork? englishVoiceWork = voiceWork.EnglishVoiceWorks.FirstOrDefault();
|
||||
|
||||
if (englishVoiceWork is null)
|
||||
{
|
||||
englishVoiceWork = new EnglishVoiceWork
|
||||
{
|
||||
VoiceWork = voiceWork,
|
||||
ProductName = string.Empty,
|
||||
Description = string.Empty
|
||||
};
|
||||
|
||||
dbContext.EnglishVoiceWorks.Add(englishVoiceWork);
|
||||
}
|
||||
|
||||
return englishVoiceWork;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user