47 lines
2.1 KiB
C#
47 lines
2.1 KiB
C#
namespace Distribution.Features.Region;
|
|
|
|
public interface IRegionRepository
|
|
{
|
|
Task<Models.Region?> GetByIdAsync(Guid id);
|
|
Task<List<Models.Region>> GetAllAsync();
|
|
Task AddAsync(Models.Region entity);
|
|
void Update(Models.Region entity);
|
|
void Remove(Models.Region entity);
|
|
|
|
Task<Models.RegionalTarget?> GetTargetAsync(Guid regionId, string period);
|
|
Task AddTargetAsync(Models.RegionalTarget target);
|
|
void UpdateTarget(Models.RegionalTarget target);
|
|
Task<List<Models.RegionalTarget>> GetAllTargetsAsync();
|
|
Task<Models.RegionalTarget?> GetTargetByIdAsync(Guid id);
|
|
void RemoveTarget(Models.RegionalTarget target);
|
|
|
|
Task<Models.RegionalBudget?> GetBudgetAsync(Guid regionId, string period);
|
|
Task AddBudgetAsync(Models.RegionalBudget budget);
|
|
void UpdateBudget(Models.RegionalBudget budget);
|
|
Task<List<Models.RegionalBudget>> GetAllBudgetsAsync();
|
|
Task<Models.RegionalBudget?> GetBudgetByIdAsync(Guid id);
|
|
void RemoveBudget(Models.RegionalBudget budget);
|
|
|
|
Task<Models.RegionAgencyMap?> GetAgencyMapAsync(Guid regionId, Guid agencyUserId);
|
|
Task AddAgencyMapAsync(Models.RegionAgencyMap map);
|
|
void UpdateAgencyMap(Models.RegionAgencyMap map);
|
|
Task<List<Models.RegionAgencyMap>> GetAgencyMapsForRegionAsync(Guid regionId);
|
|
Task<List<Models.RegionAgencyMap>> GetAllAgencyMapsAsync();
|
|
Task<Models.RegionAgencyMap?> GetAgencyMapByIdAsync(Guid id);
|
|
void RemoveAgencyMap(Models.RegionAgencyMap map);
|
|
|
|
Task<Models.RegionalTaxRule?> GetTaxRuleAsync(Guid regionId);
|
|
Task AddTaxRuleAsync(Models.RegionalTaxRule rule);
|
|
void UpdateTaxRule(Models.RegionalTaxRule rule);
|
|
Task<List<Models.RegionalTaxRule>> GetAllTaxRulesAsync();
|
|
Task<Models.RegionalTaxRule?> GetTaxRuleByIdAsync(Guid id);
|
|
void RemoveTaxRule(Models.RegionalTaxRule rule);
|
|
|
|
Task<int?> GetUserRoleLevelAsync(Guid userId);
|
|
|
|
Task<List<Models.Route>> GetRoutesAsync(Guid regionId);
|
|
Task<List<Models.Store>> GetStoresByRouteIdsAsync(List<Guid> routeIds);
|
|
|
|
Task<List<Models.Order>> GetOrdersForDashboardAsync(Guid regionId, DateTime periodStart, DateTime periodEndExclusive);
|
|
}
|