Kategorie
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user