Fixed DeepL settings' cache

This commit is contained in:
Thorsten Sommer 2022-10-03 17:53:49 +02:00
parent 131b2e2ff3
commit 433a4e33a1
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -52,28 +52,35 @@ public static class AppSettings
if (CACHE_DEEPL_MODE_IS_LOADED) if (CACHE_DEEPL_MODE_IS_LOADED)
return CACHE_DEEPL_MODE; return CACHE_DEEPL_MODE;
// Get the database: var mode = SettingDeepLMode.DISABLED;
await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>(); try
// Check, if the setting is already set:
if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_MODE) is { } existingSetting)
return (SettingDeepLMode) existingSetting.IntegerValue;
// Does not exist, so create it:
var setting = new Setting
{ {
Code = SettingNames.DEEPL_MODE, // Get the database:
IntegerValue = (int)SettingDeepLMode.DISABLED, await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>();
};
await db.Settings.AddAsync(setting); // Check, if the setting is already set:
await db.SaveChangesAsync(); if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_MODE) is { } existingSetting)
{
mode = (SettingDeepLMode) existingSetting.IntegerValue;
return mode;
}
var mode = (SettingDeepLMode) setting.IntegerValue; // Does not exist, so create it:
CACHE_DEEPL_MODE = mode; var setting = new Setting
CACHE_DEEPL_MODE_IS_LOADED = true; {
Code = SettingNames.DEEPL_MODE,
IntegerValue = (int) mode,
};
return mode; await db.Settings.AddAsync(setting);
await db.SaveChangesAsync();
return mode;
}
finally
{
CACHE_DEEPL_MODE = mode;
CACHE_DEEPL_MODE_IS_LOADED = true;
}
} }
#endregion #endregion
@ -119,28 +126,35 @@ public static class AppSettings
if (CACHE_DEEPL_API_KEY_IS_LOADED) if (CACHE_DEEPL_API_KEY_IS_LOADED)
return CACHE_DEEPL_API_KEY; return CACHE_DEEPL_API_KEY;
// Get the database: var key = string.Empty;
await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>(); try
// Check, if the setting is already set:
if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_API_KEY) is { } existingSetting)
return existingSetting.TextValue;
// Does not exist, so create it:
var setting = new Setting
{ {
Code = SettingNames.DEEPL_API_KEY, // Get the database:
TextValue = string.Empty, await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>();
};
await db.Settings.AddAsync(setting); // Check, if the setting is already set:
await db.SaveChangesAsync(); if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_API_KEY) is { } existingSetting)
{
key = existingSetting.TextValue;
return key;
}
var key = setting.TextValue; // Does not exist, so create it:
CACHE_DEEPL_API_KEY = key; var setting = new Setting
CACHE_DEEPL_API_KEY_IS_LOADED = true; {
Code = SettingNames.DEEPL_API_KEY,
TextValue = key,
};
return key; await db.Settings.AddAsync(setting);
await db.SaveChangesAsync();
return key;
}
finally
{
CACHE_DEEPL_API_KEY = key;
CACHE_DEEPL_API_KEY_IS_LOADED = true;
}
} }
#endregion #endregion
@ -189,28 +203,35 @@ public static class AppSettings
if (CACHE_DEEPL_ACTION_IS_LOADED) if (CACHE_DEEPL_ACTION_IS_LOADED)
return CACHE_DEEPL_ACTION; return CACHE_DEEPL_ACTION;
// Get the database: var action = SettingDeepLAction.MANUAL;
await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>(); try
// Check, if the setting is already set:
if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_ACTION) is { } existingSetting)
return (SettingDeepLAction) existingSetting.IntegerValue;
// Does not exist, so create it:
var setting = new Setting
{ {
Code = SettingNames.DEEPL_ACTION, // Get the database:
IntegerValue = (int)SettingDeepLAction.MANUAL, await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>();
};
await db.Settings.AddAsync(setting); // Check, if the setting is already set:
await db.SaveChangesAsync(); if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_ACTION) is { } existingSetting)
{
action = (SettingDeepLAction) existingSetting.IntegerValue;
return action;
}
var action = (SettingDeepLAction) setting.IntegerValue; // Does not exist, so create it:
CACHE_DEEPL_ACTION = action; var setting = new Setting
CACHE_DEEPL_ACTION_IS_LOADED = true; {
Code = SettingNames.DEEPL_ACTION,
IntegerValue = (int) action,
};
return action; await db.Settings.AddAsync(setting);
await db.SaveChangesAsync();
return action;
}
finally
{
CACHE_DEEPL_ACTION = action;
CACHE_DEEPL_ACTION_IS_LOADED = true;
}
} }
#endregion #endregion
@ -256,28 +277,35 @@ public static class AppSettings
if (CACHE_DEEPL_SOURCE_CULTURE_IS_LOADED) if (CACHE_DEEPL_SOURCE_CULTURE_IS_LOADED)
return CACHE_DEEPL_SOURCE_CULTURE; return CACHE_DEEPL_SOURCE_CULTURE;
// Get the database: var cultureIndex = -1;
await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>(); try
// Check, if the setting is already set:
if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_SOURCE_CULTURE) is { } existingSetting)
return existingSetting.IntegerValue;
// Does not exist, so create it:
var setting = new Setting
{ {
Code = SettingNames.DEEPL_SOURCE_CULTURE, // Get the database:
IntegerValue = -1, await using var db = ProcessorMeta.ServiceProvider.GetRequiredService<DataContext>();
};
await db.Settings.AddAsync(setting); // Check, if the setting is already set:
await db.SaveChangesAsync(); if (await db.Settings.FirstOrDefaultAsync(n => n.Code == SettingNames.DEEPL_SOURCE_CULTURE) is { } existingSetting)
{
cultureIndex = existingSetting.IntegerValue;
return cultureIndex;
}
var cultureIndex = setting.IntegerValue; // Does not exist, so create it:
CACHE_DEEPL_SOURCE_CULTURE = cultureIndex; var setting = new Setting
CACHE_DEEPL_SOURCE_CULTURE_IS_LOADED = true; {
Code = SettingNames.DEEPL_SOURCE_CULTURE,
IntegerValue = cultureIndex,
};
return cultureIndex; await db.Settings.AddAsync(setting);
await db.SaveChangesAsync();
return cultureIndex;
}
finally
{
CACHE_DEEPL_SOURCE_CULTURE = cultureIndex;
CACHE_DEEPL_SOURCE_CULTURE_IS_LOADED = true;
}
} }
#endregion #endregion