using C4IT.FASD.Base;
using FasdDesktopUi.Basics.Services.RelationService;
using System;
using System.Collections.Generic;
using System.Linq;

namespace FasdDesktopUi.Basics.Services.SupportCase
{
    public interface ISupportCase
    {
        cSupportCaseDataProvider SupportCaseDataProviderArtifact { get; }
        void Initialize();
        void AddCaseRelations(ILookup<enumFasdInformationClass, cF4sdApiSearchResultRelation> relations);
        ILookup<enumFasdInformationClass, cF4sdApiSearchResultRelation> GetCaseRelations();
        IEnumerable<cF4SDHealthCardRawData.cHealthCardTable> GetSupportCaseHealthcardData(object identities, object valueAddress);
        void UpdateSupportCaseDataCache();

        event EventHandler<RelationEventArgs> CaseRelationsAdded;
        event EventHandler<object> SupportCaseDataCacheHasChanged;
    }
}