Fixes #21

Merged
DeepnaPooja merged 61 commits from fixes into dev 2026-09-10 16:00:04 +05:30
3 changed files with 7 additions and 5 deletions
Showing only changes of commit f9e4bb3a97 - Show all commits
+2 -1
View File
@@ -46,7 +46,8 @@ public record UpdateSchemeRequest(
DateTime DateRangeFrom,
DateTime DateRangeTo,
bool AgentLimitExempt,
decimal? BaselineExpectedSales);
decimal? BaselineExpectedSales,
bool IsActive);
public record ApplySchemeRequest(Guid SchemeId);
@@ -20,7 +20,7 @@ public class SchemeRepository(AppDBContext context) : ISchemeRepository
.Include(s => s.TriggerItem)
.Include(s => s.FreeItem)
.Include(s => s.BundleComponents).ThenInclude(c => c.Item)
.Where(s => s.IsActive);
.AsQueryable();
if (regionId.HasValue) query = query.Where(s => s.FK_RegionId == regionId);
@@ -41,7 +41,7 @@ public class SchemeService(
public async Task<SchemeResponse?> GetByIdAsync(Guid id)
{
var scheme = await repo.GetByIdAsync(id);
return scheme is null || !scheme.IsActive ? null : ToResponse(scheme);
return scheme is null ? null : ToResponse(scheme);
}
/// <summary>
@@ -114,7 +114,7 @@ public class SchemeService(
public async Task<SchemeResponse?> UpdateAsync(Guid id, UpdateSchemeRequest request, CancellationToken ct = default)
{
var scheme = await repo.GetByIdAsync(id);
if (scheme is null || !scheme.IsActive) return null;
if (scheme is null) return null;
ValidatePercentRuleConfig(scheme.RuleType, request.RuleConfig);
if (request.DateRangeFrom > request.DateRangeTo)
@@ -128,6 +128,7 @@ public class SchemeService(
scheme.DateRangeTo = request.DateRangeTo;
scheme.AgentLimitExempt = request.AgentLimitExempt;
scheme.BaselineExpectedSales = request.BaselineExpectedSales;
scheme.IsActive = request.IsActive;
await uow.BeginAsync(ct);
try { repo.Update(scheme); await uow.CommitAsync(ct); }
@@ -255,7 +256,7 @@ public class SchemeService(
var orderItems = await orderRepo.GetItemsByOrderIdAsync(orderId);
var regionId = store.Route?.FK_RegionId;
var candidates = await repo.GetAllAsync();
var candidates = (await repo.GetAllAsync()).Where(s => s.IsActive);
var result = new List<SchemeEligibilityResponse>();
foreach (var scheme in candidates)