51 lines
2.6 KiB
C#

using System;
using System.Threading.Tasks;
using Compliance.Domain.Models;
namespace Compliance.Infrastructure.Repositories
{
public interface IDistributorRepository
{
Task<DistributorInformation?> GetDistributorInformationAsync(string distributorName, string month);
Task<TariffInformation?> GetTariffInformationAsync(string distributorName, string month);
Task<TaxInformation?> GetTaxInformationAsync(string distributorName, string month);
Task<FlagTariffInformation?> GetFlagTariffInformationAsync(string distributorName, string month);
Task<PublicLightingInformation?> GetPublicLightingInformationAsync(
string distributorName,
string consumerGroup,
string month);
Task<ICMSInformation?> GetICMSInformationAsync(string distributorName, string consumerGroup, string month);
Task<DemandInformation?> GetDemandInformationAsync(string distributorName, string consumerGroup, string month);
Task<ReactiveEnergyInformation?> GetReactiveEnergyInformationAsync(
string distributorName,
string consumerGroup,
string month);
Task<MunicipalTaxInformation?> GetMunicipalTaxInformationAsync(
string distributorName,
string municipality,
string month);
Task<SeasonalTariffInformation?> GetSeasonalTariffInformationAsync(
string distributorName,
string consumerGroup,
string month);
Task<PaymentTermsInformation?> GetPaymentTermsInformationAsync(
string distributorName,
string consumerGroup,
string month);
Task<MinimumBillingInformation?> GetMinimumBillingAsync(string distributorName);
Task<ReadingPeriodInfo> GetReadingPeriodRulesAsync();
Task<DistributedGenerationInfo> GetDistributedGenerationInfoAsync(string smartCode);
Task<AdditionalChargeInformation?> GetAdditionalChargeInformationAsync(string distributorName, string month);
Task<SubsidyInformation?> GetSubsidyInformationAsync(
string distributorName,
string consumerGroup,
string month);
Task<MinimumBillingInformation> GetMinimumBillingInformationAsync(
string distributorName,
string consumerGroup,
string month);
Task<MeasurementSystemInfo?> GetMeasurementSystemInfoAsync(string meterNumber);
Task<ReadingImpedimentInfo?> GetReadingImpedimentInfoAsync(string smartCode, DateTime readingDate);
Task<GroupSpecificRulesInfo?> GetGroupSpecificRulesInfoAsync(string consumerGroup, string subgroup, string billingMonth);
}
}