39eab2e3a2
Extends RegionService, RegionRepository, and RegionController with the endpoints from mainPlan.md sec 2 beyond plain CRUD: setRegionalTarget, setRegionalBudget, mapAgencyToRegion, setRegionalTaxRule, getRegionHierarchy, and getRegionDashboard. Target/budget/tax-rule mutation is gated to users with region scope at RegionalManager level or RegionalAgency level across all regions; mapAgencyToRegion links an existing User holding the RegionalAgency role rather than introducing a separate agency entity, matching the convention already used by Claim.FK_AgencyUserId elsewhere in the codebase. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
namespace Distribution.Features.Region;
|
|
|
|
public record CreateRegionRequest(string Name);
|
|
|
|
public record UpdateRegionRequest(string Name);
|
|
|
|
public record RegionResponse(Guid Id, string Name, bool IsActive, DateTime CreatedAt);
|
|
|
|
public record SetRegionalTargetRequest(decimal TargetValue);
|
|
|
|
public record SetRegionalBudgetRequest(decimal BudgetAmount);
|
|
|
|
public record MapAgencyToRegionRequest(Guid AgencyUserId);
|
|
|
|
public record SetRegionalTaxRuleRequest(string RuleConfig);
|
|
|
|
public record RegionalTargetResponse(Guid RegionId, string Period, decimal TargetValue);
|
|
|
|
public record RegionalBudgetResponse(Guid RegionId, string Period, decimal BudgetAmount);
|
|
|
|
public record RegionAgencyMapResponse(Guid RegionId, Guid AgencyUserId);
|
|
|
|
public record RegionalTaxRuleResponse(Guid RegionId, string RuleConfig);
|
|
|
|
public record RegionHierarchyRouteItem(Guid RouteId, string RouteName, List<Guid> StoreIds);
|
|
|
|
public record RegionHierarchyResponse(Guid RegionId, string RegionName, List<RegionHierarchyRouteItem> Routes);
|
|
|
|
public record RegionDashboardResponse(
|
|
Guid RegionId,
|
|
string Period,
|
|
decimal? TargetValue,
|
|
decimal? BudgetAmount,
|
|
int OrderCount,
|
|
decimal ActualSales,
|
|
DateTime? LastOrderDate);
|