using C4IT.FASD.Base; using FasdDesktopUi.Basics.CustomEvents; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace FasdDesktopUi.Basics.Services.SupportCase { public interface ISupportCase { cSupportCaseDataProvider SupportCaseDataProviderArtifact { get; } void Initialize(); void AddCaseRelations(ILookup relations); ILookup GetCaseRelations(); Task LoadSupportCaseDataAsync(cF4sdApiSearchResultRelation relation, IEnumerable tablesToLoad); IEnumerable GetSupportCaseHealthcardData(cF4sdApiSearchResultRelation relation, cValueAddress valueAddress); void UpdateSupportCaseDataCache(cF4sdApiSearchResultRelation relation, IEnumerable tables); void InvalidateCaseDataCacheFor(cF4sdApiSearchResultRelation relation); void InvalidateLatestCaseDataCacheFor(cF4sdApiSearchResultRelation relation, out ICollection invalidatedTables); event EventHandler CaseRelationsAdded; event EventHandler SupportCaseDataCacheHasChanged; } }