93f2f1bd3b
Major refactor replacing Sale/Order with ShopPO → Invoice → LoadingSheet flow. Removed legacy Sale/Order models and features; introduced ShopPO, ShopPOItem, Invoice, LoadingSheetOrder, and SysConfig models. Updated related entities, enums, repositories, and controllers. Added new migrations for schema changes and system config. Overhauled business logic and DI registrations. Updated documentation with migration plan.
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.ShopPO>> GetOrdersForDashboardAsync(Guid regionId, DateTime periodStart, DateTime periodEndExclusive);
|
|
}
|