private void AddProviderNotFoundErrorToModelState(TrainingProviderSelectionType selectionType, string searchedUkprn)
 {
     if (selectionType == TrainingProviderSelectionType.Ukprn)
     {
         ModelState.AddModelError(nameof(SelectTrainingProviderEditModel.Ukprn), string.Format(InvalidUkprnMessageFormat, searchedUkprn));
     }
     else
     {
         ModelState.AddModelError(nameof(SelectTrainingProviderEditModel.TrainingProviderSearch), InvalidSearchTerm);
     }
 }
        public void AddTrainingProviderErrorsToModelState(TrainingProviderSelectionType selectionType, string ukprn, OrchestratorResponse response, ModelStateDictionary modelState)
        {
            string[] providerNotFoundErrorCodes = { ErrorCodes.TrainingProviderUkprnNotEmpty, ErrorCodes.TrainingProviderMustExist };

            if (!response.Success && response.Errors?.Errors != null)
            {
                foreach (var error in response.Errors.Errors)
                {
                    if (providerNotFoundErrorCodes.Contains(error.ErrorCode))
                    {
                        AddProviderNotFoundErrorToModelState(selectionType, ukprn);
                        continue;
                    }

                    if (error.ErrorCode == ErrorCodes.TrainingProviderMustNotBeBlocked)
                    {
                        AddProviderBlockedErrorToModelState(selectionType, error);
                        continue;
                    }

                    modelState.AddModelError(error.PropertyName, error.ErrorMessage);
                }
            }
        }
        private void AddProviderBlockedErrorToModelState(TrainingProviderSelectionType selectionType, EntityValidationError error)
        {
            var errorKey = selectionType == TrainingProviderSelectionType.Ukprn ? nameof(SelectTrainingProviderEditModel.Ukprn) : nameof(SelectTrainingProviderEditModel.TrainingProviderSearch);

            ModelState.AddModelError(errorKey, error.ErrorMessage);
        }