public void ShouldMapFundingDataZoneProviderPaymentOrganisationUkprnToProviderPaymentOrganisationIdentifier()
        {
            // Arrange
            FundingDataZoneProvider fundingDataZoneProvider = new FundingDataZoneProvider()
            {
                PaymentOrganisationUkprn = new RandomString()
            };

            MapperConfiguration config = new MapperConfiguration(c => c.AddProfile <ProviderVersionsMappingProfile>());
            IMapper             mapper = config.CreateMapper();

            // Act
            Models.Providers.Provider provider = mapper.Map <Models.Providers.Provider>(fundingDataZoneProvider);

            // Assert
            provider.PaymentOrganisationIdentifier.Should()
            .Be(fundingDataZoneProvider.PaymentOrganisationUkprn);
        }
예제 #2
0
        public DasProvider CreateDasProviderFromProvider(int exportKey, Models.Providers.Provider provider, Core.DataStore.CosmosDb.Models.FeChoice feChoice)
        {
            if (!int.TryParse(provider.UnitedKingdomProviderReferenceNumber, out var ukprn))
            {
                throw new InvalidUkprnException(provider.UnitedKingdomProviderReferenceNumber);
            }

            if (!provider.ProviderContact.Any())
            {
                throw new MissingContactException();
            }

            try
            {
                var contactDetails = provider.ProviderContact.FirstOrDefault();

                return(new DasProvider
                {
                    Id = provider.ProviderId ?? _intIdentifier + exportKey,
                    Email = contactDetails?.ContactEmail,
                    EmployerSatisfaction = feChoice?.EmployerSatisfaction,
                    LearnerSatisfaction = feChoice?.LearnerSatisfaction,
                    MarketingInfo = provider.MarketingInformation,
                    Name = provider.Name,
                    TradingName = provider.Name,
                    NationalProvider = provider.NationalApprenticeshipProvider,
                    UKPRN = ukprn,
                    Website = contactDetails?.ContactWebsiteAddress,
                    Phone = !string.IsNullOrWhiteSpace(contactDetails?.ContactTelephone1)
                        ? contactDetails?.ContactTelephone1
                        : contactDetails?.ContactTelephone2
                });
            }

            catch (Exception e)
            {
                throw new ProviderExportException(ukprn, e);
            }
        }