public async Task <ActionResult <AccessAgreementNote> > UpdateAccessAgreementNote(int enrolleeId, AccessAgreementNote accessAgreementNote) { var enrollee = await _enrolleeService.GetEnrolleeAsync(enrolleeId); if (enrollee == null) { return(NotFound(ApiResponse.Message($"Enrollee not found with id {enrolleeId}."))); } if (accessAgreementNote.EnrolleeId != 0 && enrolleeId != accessAgreementNote.EnrolleeId) { this.ModelState.AddModelError("AccessAgreementNote.EnrolleeId", "Enrollee Id does not match with the payload."); return(BadRequest(ApiResponse.BadRequest(this.ModelState))); } if (!await _enrolleeService.IsEnrolleeInStatusAsync(enrolleeId, StatusType.UnderReview)) { this.ModelState.AddModelError("Enrollee.CurrentStatus", "Access agreement notes can not be updated when the current status is 'Editable'."); return(BadRequest(ApiResponse.BadRequest(this.ModelState))); } var updatedNote = await _enrolleeService.UpdateEnrolleeNoteAsync(enrolleeId, accessAgreementNote); return(Ok(ApiResponse.Result(updatedNote))); }