Skip to content

Commit ffdee4d

Browse files
committed
ECER-5117: Submission moved to repository
1 parent 514c724 commit ffdee4d

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

src/ECER.Managers.Registry/ICRAEligibilityHandlers.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,8 @@ public async Task<SubmitICRAEligibilityResult> Handle(SubmitICRAEligibilityComma
7373
return new SubmitICRAEligibilityResult { Eligibility = null, Error = Contract.ICRA.SubmissionError.DraftIcraEligibilityValidationFailed, ValidationErrors = validation.ValidationErrors };
7474
}
7575

76-
var repoModel = mapper.Map<Resources.Documents.ICRA.ICRAEligibility>(draft)!;
77-
repoModel.Status = Resources.Documents.ICRA.ICRAStatus.Submitted;
78-
var id = await iCRARepository.Save(repoModel, cancellationToken);
76+
// Delegate status change to repository (mirror applications)
77+
var id = await iCRARepository.Submit(draft.Id!, cancellationToken);
7978

8079
var fresh = await iCRARepository.Query(new ICRAQuery { ById = id }, cancellationToken);
8180
return new SubmitICRAEligibilityResult { Eligibility = mapper.Map<Contract.ICRA.ICRAEligibility>(fresh.SingleOrDefault()) };

src/ECER.Resources.Documents/ICRA/ICRARepository.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,16 @@ public async Task<string> Save(ICRAEligibility iCRAEligibility, CancellationToke
9090
context.SaveChanges();
9191
return icraEligibility.ecer_ICRAEligibilityAssessmentId!.Value.ToString();
9292
}
93+
94+
public async Task<string> Submit(string icraEligibilityId, CancellationToken cancellationToken)
95+
{
96+
await Task.CompletedTask;
97+
var icra = context.ecer_ICRAEligibilityAssessmentSet.FirstOrDefault(d => d.ecer_ICRAEligibilityAssessmentId == Guid.Parse(icraEligibilityId) && d.StatusCode == ecer_ICRAEligibilityAssessment_StatusCode.Draft);
98+
if (icra == null) throw new InvalidOperationException($"ICRA Eligibility '{icraEligibilityId}' not found");
99+
100+
icra.StatusCode = ecer_ICRAEligibilityAssessment_StatusCode.Submitted;
101+
context.UpdateObject(icra);
102+
context.SaveChanges();
103+
return icraEligibilityId;
104+
}
93105
}

src/ECER.Resources.Documents/ICRA/IICRARepository.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ public interface IICRARepository
55
Task<IEnumerable<ICRAEligibility>> Query(ICRAQuery query, CancellationToken cancellationToken);
66

77
Task<string> Save(ICRAEligibility iCRAEligibility, CancellationToken cancellationToken);
8+
9+
Task<string> Submit(string icraEligibilityId, CancellationToken cancellationToken);
810
}
911

1012
public record ICRAQuery

0 commit comments

Comments
 (0)