several fixes for file cache handling, add account deletion

This commit is contained in:
Stanley Dimant
2022-06-25 19:37:26 +02:00
parent 27208ed2a5
commit 8c9f816e6d
5 changed files with 98 additions and 5 deletions

View File

@@ -41,6 +41,7 @@ public class CharacterCacheManager : IDisposable
public void AddInitialPairs(List<string> apiTaskResult)
{
_onlineCachedPlayers.Clear();
_onlineCachedPlayers.AddRange(apiTaskResult.Select(a => new CachedPlayer(a)));
Logger.Debug("Online and paired users: " + string.Join(",", _onlineCachedPlayers));
}
@@ -159,6 +160,7 @@ public class CharacterCacheManager : IDisposable
private void ApiControllerOnPairedClientOnline(object? sender, EventArgs e)
{
Logger.Debug("Player online: " + sender!);
if (_onlineCachedPlayers.Any(c => c.PlayerNameHash == (string)sender!)) return;
_onlineCachedPlayers.Add(new CachedPlayer((string)sender!));
}

View File

@@ -317,9 +317,15 @@ namespace MareSynchronos.Managers
Logger.Debug("Found " + fileCachesToAdd.Count + " additions and " + fileCachesToDelete.Count + " deletions");
try
{
db.FileCaches.RemoveRange(fileCachesToDelete);
foreach (var deletion in fileCachesToDelete)
{
var entry = db.FileCaches.SingleOrDefault(f =>
f.Hash == deletion.Hash && f.Filepath == deletion.Filepath);
if (entry != null)
db.FileCaches.Remove(entry);
}
db.FileCaches.AddRange(fileCachesToAdd);
db.SaveChanges();
await db.SaveChangesAsync(ct);
}
catch (Exception ex)
{