Fix site deletion with dependent logs

This commit is contained in:
2026-05-07 15:48:12 +02:00
parent dc3fd77c86
commit bbd1f62062
2 changed files with 14 additions and 3 deletions
@@ -690,9 +690,16 @@
if (result != true) return; if (result != true) return;
try
{
await StandortePageService.DeleteSiteAsync(site); await StandortePageService.DeleteSiteAsync(site);
await LoadDataAsync(); await LoadDataAsync();
Snackbar.Add("Standort gelöscht", Severity.Info); Snackbar.Add("Standort geloescht", Severity.Info);
}
catch (Exception ex)
{
Snackbar.Add($"Standort konnte nicht geloescht werden: {ex.Message}", Severity.Error);
}
} }
private static string GetServerNode(HanaServer? server) private static string GetServerNode(HanaServer? server)
@@ -235,11 +235,15 @@ public sealed class StandortePageService : IStandortePageService
var mappings = await db.SapFieldMappings.Where(m => m.SiteId == site.Id).ToListAsync(); var mappings = await db.SapFieldMappings.Where(m => m.SiteId == site.Id).ToListAsync();
var manualMappings = await db.ManualExcelColumnMappings.Where(m => m.SiteId == site.Id).ToListAsync(); var manualMappings = await db.ManualExcelColumnMappings.Where(m => m.SiteId == site.Id).ToListAsync();
var centralRows = await db.CentralSalesRecords.Where(r => r.SiteId == site.Id).ToListAsync(); var centralRows = await db.CentralSalesRecords.Where(r => r.SiteId == site.Id).ToListAsync();
var exportLogs = await db.ExportLogs.Where(l => l.SiteId == site.Id).ToListAsync();
var appEventLogs = await db.AppEventLogs.Where(l => l.SiteId == site.Id).ToListAsync();
if (sources.Count > 0) db.SapSourceDefinitions.RemoveRange(sources); if (sources.Count > 0) db.SapSourceDefinitions.RemoveRange(sources);
if (joins.Count > 0) db.SapJoinDefinitions.RemoveRange(joins); if (joins.Count > 0) db.SapJoinDefinitions.RemoveRange(joins);
if (mappings.Count > 0) db.SapFieldMappings.RemoveRange(mappings); if (mappings.Count > 0) db.SapFieldMappings.RemoveRange(mappings);
if (manualMappings.Count > 0) db.ManualExcelColumnMappings.RemoveRange(manualMappings); if (manualMappings.Count > 0) db.ManualExcelColumnMappings.RemoveRange(manualMappings);
if (centralRows.Count > 0) db.CentralSalesRecords.RemoveRange(centralRows); if (centralRows.Count > 0) db.CentralSalesRecords.RemoveRange(centralRows);
if (exportLogs.Count > 0) db.ExportLogs.RemoveRange(exportLogs);
if (appEventLogs.Count > 0) db.AppEventLogs.RemoveRange(appEventLogs);
db.Sites.Remove(entity); db.Sites.Remove(entity);
await db.SaveChangesAsync(); await db.SaveChangesAsync();
} }