public async Task <ActionResult <Enrollee> > SetEnrolleeAdjudicator(int enrolleeId) { var enrollee = await _enrolleeService.GetEnrolleeAsync(enrolleeId); if (enrollee == null) { return(NotFound(ApiResponse.Message($"Enrollee not found with id {enrolleeId}."))); } var admin = await _adminService.GetAdminForUserIdAsync(User.GetPrimeUserId()); var updatedEnrollee = await _enrolleeService.UpdateEnrolleeAdjudicator(enrollee.Id, admin); await _businessEventService.CreateAdminActionEventAsync(enrolleeId, "Admin claimed enrollee"); return(Ok(ApiResponse.Result(updatedEnrollee))); }
public async Task <ActionResult <EnrolleeViewModel> > SetEnrolleeAdjudicator(int enrolleeId, [FromQuery] int?adjudicatorId) { var enrollee = await _enrolleeService.GetEnrolleeAsync(enrolleeId); if (enrollee == null) { return(NotFound(ApiResponse.Message($"Enrollee not found with id {enrolleeId}."))); } Admin admin = (adjudicatorId.HasValue) ? await _adminService.GetAdminAsync(adjudicatorId.Value) : await _adminService.GetAdminAsync(User.GetPrimeUserId()); if (admin == null) { return(NotFound(ApiResponse.Message($"Admin not found with id {adjudicatorId.Value}."))); } var updatedEnrollee = await _enrolleeService.UpdateEnrolleeAdjudicator(enrollee.Id, admin.Id); await _businessEventService.CreateAdminActionEventAsync(enrolleeId, "Admin claimed enrollee"); return(Ok(ApiResponse.Result(updatedEnrollee))); }
private async Task <bool> AcceptToaAsync(Enrollee enrollee, object additionalParameters) { if (enrollee.IdentityAssuranceLevel < 3) { // Enrollees with lower assurance levels cannot electronically sign, and so must upload a signed Agreement if (additionalParameters is Guid documentGuid) { var agreement = await _agreementService.GetCurrentAgreementAsync(enrollee.Id); var agreementDocument = await _agreementService.AddSignedAgreementDocumentAsync(agreement.Id, documentGuid); if (agreementDocument == null) { return(false); } } else { return(false); } } enrollee.AddEnrolmentStatus(StatusType.Editable); await SetGpid(enrollee); await _agreementService.AcceptCurrentEnrolleeAgreementAsync(enrollee.Id); await _privilegeService.AssignPrivilegesToEnrolleeAsync(enrollee.Id, enrollee); await _businessEventService.CreateStatusChangeEventAsync(enrollee.Id, "Accepted TOA"); await _enrolleeService.RemoveNotificationsAsync(enrollee.Id); if (enrollee.AdjudicatorId != null) { await _enrolleeService.UpdateEnrolleeAdjudicator(enrollee.Id); await _businessEventService.CreateAdminActionEventAsync(enrollee.Id, "Admin disclaimed after TOA accepted"); } await _context.SaveChangesAsync(); return(true); }