@@ -678,37 +678,29 @@ public async Task<IActionResult> ChangeCurrentRole([FromQuery] UserJobRoleUpdate
678678 return this . View ( "ChangeCurrentRole" , viewModel ) ;
679679 }
680680
681- if ( ! string . IsNullOrWhiteSpace ( viewModel . FilterText ) )
681+ if ( formSubmission && viewModel . SelectedJobRoleId . HasValue )
682682 {
683- var jobRoles = await this . jobRoleService . GetPagedFilteredAsync ( viewModel . FilterText , viewModel . CurrentPage , viewModel . PageSize ) ;
684- viewModel . RoleList = jobRoles . Item2 ;
685- viewModel . TotalItems = jobRoles . Item1 ;
686- viewModel . HasItems = jobRoles . Item1 > 0 ;
687- }
683+ var newRoleId = viewModel . SelectedJobRoleId . Value ;
684+ var jobRole = await this . jobRoleService . GetByIdAsync ( newRoleId ) ;
688685
689- if ( formSubmission )
690- {
691- if ( viewModel . SelectedJobRoleId . HasValue )
686+ if ( jobRole . MedicalCouncilId > 0 && jobRole . MedicalCouncilId < 4 )
692687 {
693- var newRoleId = viewModel . SelectedJobRoleId . Value ;
694- var jobRole = await this . jobRoleService . GetByIdAsync ( newRoleId ) ;
695-
696- if ( jobRole . MedicalCouncilId > 0 && jobRole . MedicalCouncilId < 4 )
697- {
698- return this . RedirectToAction ( nameof ( this . ChangeMedicalCouncilNo ) , new UserMedicalCouncilNoUpdateViewModel { SelectedJobRoleId = newRoleId } ) ;
699- }
700- else
701- {
702- return this . RedirectToAction ( nameof ( this . ChangeGrade ) , new UserGradeUpdateViewModel { SelectedJobRoleId = newRoleId } ) ;
703- }
688+ return this . RedirectToAction ( nameof ( this . ChangeMedicalCouncilNo ) , new UserMedicalCouncilNoUpdateViewModel { SelectedJobRoleId = newRoleId } ) ;
704689 }
705690 else
706691 {
707- this . ModelState . AddModelError ( nameof ( viewModel . SelectedJobRoleId ) , CommonValidationErrorMessages . RoleRequired ) ;
708- return this . View ( "ChangeCurrentRole" , viewModel ) ;
692+ return this . RedirectToAction ( nameof ( this . ChangeGrade ) , new UserGradeUpdateViewModel { SelectedJobRoleId = newRoleId } ) ;
709693 }
710694 }
711695
696+ if ( ! string . IsNullOrWhiteSpace ( viewModel . FilterText ) )
697+ {
698+ var jobRoles = await this . jobRoleService . GetPagedFilteredAsync ( viewModel . FilterText , viewModel . CurrentPage , viewModel . PageSize ) ;
699+ viewModel . RoleList = jobRoles . Item2 ;
700+ viewModel . TotalItems = jobRoles . Item1 ;
701+ viewModel . HasItems = jobRoles . Item1 > 0 ;
702+ }
703+
712704 return this . View ( "ChangeCurrentRole" , viewModel ) ;
713705 }
714706
@@ -808,33 +800,26 @@ public async Task<IActionResult> ChangeGrade([FromQuery] UserGradeUpdateViewMode
808800 viewModel . Grade = profile . Grade ;
809801 viewModel . SelectedJobRole = jobRole . NameWithStaffGroup ;
810802 viewModel . SelectedMedicalCouncilId = jobRole . MedicalCouncilId ;
811- if ( formSubmission )
803+
804+ if ( this . User . IsInRole ( "BasicUser" ) || ( formSubmission && viewModel . SelectedGradeId . HasValue ) )
812805 {
813- if ( this . User . IsInRole ( "BasicUser" ) || viewModel . SelectedGradeId . HasValue )
814- {
815- var medicalCouncilNoRequired = jobRole . MedicalCouncilId > 0 && jobRole . MedicalCouncilId < 4 ;
816- await this . userService . UpdateUserEmployment (
817- new elfhHub . Nhs . Models . Entities . UserEmployment
818- {
819- Id = profile . EmploymentId ,
820- UserId = profile . Id ,
821- JobRoleId = viewModel . SelectedJobRoleId ,
822- MedicalCouncilId = medicalCouncilNoRequired ? jobRole . MedicalCouncilId : null ,
823- MedicalCouncilNo = medicalCouncilNoRequired ? ( viewModel . SelectedMedicalCouncilNo ?? profile . MedicalCouncilNo ) : null ,
824- GradeId = viewModel . SelectedGradeId ,
825- SpecialtyId = profile . SpecialtyId ,
826- StartDate = profile . JobStartDate ,
827- LocationId = profile . LocationId ,
828- } ) ;
806+ var medicalCouncilNoRequired = jobRole . MedicalCouncilId > 0 && jobRole . MedicalCouncilId < 4 ;
807+ await this . userService . UpdateUserEmployment (
808+ new elfhHub . Nhs . Models . Entities . UserEmployment
809+ {
810+ Id = profile . EmploymentId ,
811+ UserId = profile . Id ,
812+ JobRoleId = viewModel . SelectedJobRoleId ,
813+ MedicalCouncilId = medicalCouncilNoRequired ? jobRole . MedicalCouncilId : null ,
814+ MedicalCouncilNo = medicalCouncilNoRequired ? ( viewModel . SelectedMedicalCouncilNo ?? profile . MedicalCouncilNo ) : null ,
815+ GradeId = viewModel . SelectedGradeId ,
816+ SpecialtyId = profile . SpecialtyId ,
817+ StartDate = profile . JobStartDate ,
818+ LocationId = profile . LocationId ,
819+ } ) ;
829820
830- this . ViewBag . SuccessMessage = "Your job details have been changed" ;
831- return this . View ( "SuccessMessage" ) ;
832- }
833- else
834- {
835- this . ModelState . AddModelError ( nameof ( viewModel . SelectedGradeId ) , CommonValidationErrorMessages . GradeRequired ) ;
836- return this . View ( "ChangeGrade" , viewModel ) ;
837- }
821+ this . ViewBag . SuccessMessage = "Your job details have been changed" ;
822+ return this . View ( "SuccessMessage" ) ;
838823 }
839824
840825 return this . View ( "ChangeGrade" , viewModel ) ;
0 commit comments