Esempio n. 1
0
        public async Task <ActionResult <ApiValidationResult> > ValidateUkPrn(int q)
        {
            // false if on epao register already.
            var epaOrg = await _organisationQueryRepository.GetByUkPrn(q);

            if (epaOrg != null)
            {
                return(new ApiValidationResult {
                    IsValid = false, ErrorMessages = new List <KeyValuePair <string, string> > {
                        new KeyValuePair <string, string>("", "UKPRN provided already in use")
                    }
                });
            }

            // starts with 9, allow
            if (q.ToString().StartsWith("9"))
            {
                return new ApiValidationResult {
                           IsValid = true
                }
            }
            ;

            var ukrlpResult = await _roatpApiClient.SearchOrganisationInUkrlp(q);

            if (ukrlpResult == null || !ukrlpResult.Any())
            {
                return(new ApiValidationResult {
                    IsValid = false, ErrorMessages = new List <KeyValuePair <string, string> > {
                        new KeyValuePair <string, string>("", "UKPRN is unknown")
                    }
                });
            }

            return(new ApiValidationResult {
                IsValid = true
            });
        }
    }