using System.Collections.Generic;
using Valg.EVA.Skanning.Entity.ReadModel;

namespace Valg.EVA.Skanning.Repositories.ElectionConfig
{
    public interface IElectionEventRepository
    {
        IEnumerable<XmlResult> GetContestByAreaContextId(string electionEventId, string areaContextId);
        IEnumerable<XmlResult> GetVotingCategoriesInContest(string electionEventId, string contestId);
        IEnumerable<XmlResult> GetElectionByContestId(string electionEventId, string contestId);
        IEnumerable<XmlResult> GetElectionEvents(string electionEventId);
        IEnumerable<XmlResult> GetContests(string electionEventId);
        IEnumerable<XmlResult> GetElections(string electionEventId);
        IEnumerable<XmlResult> GetVotingCategories(string electionEventId);
        IEnumerable<XmlResult> GetReportingUnits(string electionEventId);
        IEnumerable<XmlResult> GetCountMetricsForContest(string electionEventId, string contestId);
        XmlResult GetMaxWriteInForContest(string electionEventId, string contestId);
        IEnumerable<long> GetAllElectionEventIds();
    }
}
