using System; using System.Threading.Tasks; using Compliance.Domain.Models; namespace Compliance.Infrastructure.Repositories { public interface IDistributorRepository { Task GetDistributorInformationAsync(string distributorName, string month); Task GetTariffInformationAsync(string distributorName, string month); Task GetTaxInformationAsync(string distributorName, string month); Task GetFlagTariffInformationAsync(string distributorName, string month); Task GetPublicLightingInformationAsync( string distributorName, string consumerGroup, string month); Task GetICMSInformationAsync(string distributorName, string consumerGroup, string month); Task GetDemandInformationAsync(string distributorName, string consumerGroup, string month); Task GetReactiveEnergyInformationAsync( string distributorName, string consumerGroup, string month); Task GetMunicipalTaxInformationAsync( string distributorName, string municipality, string month); Task GetSeasonalTariffInformationAsync( string distributorName, string consumerGroup, string month); Task GetPaymentTermsInformationAsync( string distributorName, string consumerGroup, string month); Task GetMinimumBillingAsync(string distributorName); Task GetReadingPeriodRulesAsync(); Task GetDistributedGenerationInfoAsync(string smartCode); Task GetAdditionalChargeInformationAsync(string distributorName, string month); Task GetSubsidyInformationAsync( string distributorName, string consumerGroup, string month); Task GetMinimumBillingInformationAsync( string distributorName, string consumerGroup, string month); Task GetMeasurementSystemInfoAsync(string meterNumber); Task GetReadingImpedimentInfoAsync(string smartCode, DateTime readingDate); Task GetGroupSpecificRulesInfoAsync(string consumerGroup, string subgroup, string billingMonth); } }