public async Task <string> Handle(CreateEpaOrganisationStandardRequest request, CancellationToken cancellationToken) { ProcessRequestFieldsForSpecialCharacters(request); var validationResponse = _validator.ValidatorCreateEpaOrganisationStandardRequest(request); if (!validationResponse.IsValid) { var message = validationResponse.Errors.Aggregate(string.Empty, (current, error) => current + error.ErrorMessage + "; "); _logger.LogError(message); if (validationResponse.Errors.Any(x => x.ValidationStatusCode == ValidationStatusCode.BadRequest)) { throw new BadRequestException(message); } if (validationResponse.Errors.Any(x => x.ValidationStatusCode == ValidationStatusCode.NotFound)) { throw new NotFound(message); } if (validationResponse.Errors.Any(x => x.ValidationStatusCode == ValidationStatusCode.AlreadyExists)) { throw new AlreadyExistsException(message); } throw new Exception(message); } var organisationStandard = MapOrganisationStandardRequestToOrganisationStandard(request); return(await _registerRepository.CreateEpaOrganisationStandard(organisationStandard, request.DeliveryAreas)); }