Kategorie

This commit is contained in:
Meik
2025-11-11 19:43:15 +01:00
parent dc3e8a2e4c
commit 05fb34815a
27 changed files with 1832 additions and 1109 deletions

View File

@@ -3,9 +3,6 @@ using C4IT.FASD.Cockpit.Communication;
using FasdDesktopUi.Basics.Services.RelationService;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using static C4IT.Logging.cLogManager;
@@ -19,12 +16,6 @@ namespace FasdDesktopUi.Basics.Services.SupportCaseSearchService
public SupportCaseSearchService(IRelationService relationService)
{
_relationService = relationService;
_relationService.RelationsFound += HandleRelationsFound;
}
~SupportCaseSearchService()
{
_relationService.RelationsFound -= HandleRelationsFound;
}
public static async Task<cFasdApiSearchResultCollection> GetSearchResultsAsync(string searchQuery, CancellationToken token = default)
@@ -53,12 +44,18 @@ namespace FasdDesktopUi.Basics.Services.SupportCaseSearchService
}
public async Task<cF4sdStagedSearchResultRelationTaskId> LoadRelationsAsync(IEnumerable<cFasdApiSearchResultEntry> relatedTo, CancellationToken token = default)
=> await _relationService.LoadRelationsAsync(relatedTo, token);
{
IRelationService relationService = _relationService.Clone();
relationService.RelationsFound += HandleRelationsFound;
return await relationService.LoadRelationsAsync(relatedTo, token);
}
private void HandleRelationsFound(object sender, StagedSearchResultRelationsEventArgs e)
{
e.RelationService = _relationService;
RelationsFound.Invoke(this, e);
if (e.StagedResultRelations.IsComplete)
e.RelationService.RelationsFound -= HandleRelationsFound;
}
public event EventHandler<StagedSearchResultRelationsEventArgs> RelationsFound;