private Task <EmployerPayments.Domain.Models.ApprenticeshipProvider.Provider> GetProvider(int ukPrn)
        {
            return(Task.Run(() =>
            {
                try
                {
                    var providerView = _cacheProvider.Get <ProvidersView>($"{nameof(ProvidersView)}_{ukPrn}");

                    if (providerView == null)
                    {
                        providerView = _apprenticeshipInfoService.GetProvider(ukPrn);
                        if (providerView != null)
                        {
                            _cacheProvider.Set($"{nameof(ProvidersView)}_{ukPrn}", providerView, new TimeSpan(1, 0, 0));
                        }
                    }

                    return providerView?.Provider;
                }
                catch (Exception e)
                {
                    _logger.Warn(e, $"Unable to get provider details with UKPRN {ukPrn} from apprenticeship API.");
                }

                return null;
            }));
        }
Exemple #2
0
        public async Task <GetProviderQueryResponse> Handle(GetProviderQueryRequest message)
        {
            var provider = await Task.Run(() => _apprenticeshipInfoServiceWrapper.GetProvider(message.ProviderId));

            return(new GetProviderQueryResponse
            {
                ProvidersView = provider
            });
        }
Exemple #3
0
        private bool GetProviderAddresses(long providerId, out List <string> addresses)
        {
            addresses = new List <string>();
            var providers = _apprenticeshipInfoService.GetProvider(providerId);

            if (!string.IsNullOrEmpty(providers?.Provider?.Email))
            {
                _logger.Info($"Getting email from apprenticeship provider service");
                addresses = new List <string> {
                    providers?.Provider?.Email
                };
            }
            return(addresses.Any());
        }
        private Task <Domain.Models.ApprenticeshipProvider.Provider> GetProvider(int ukPrn)
        {
            return(Task.Run(() =>
            {
                try
                {
                    var providerView = _apprenticeshipInfoService.GetProvider(ukPrn);
                    return providerView?.Provider;
                }
                catch (Exception e)
                {
                    _logger.Warn(e, $"Unable to get provider details with UKPRN {ukPrn} from apprenticeship API.");
                }

                return null;
            }));
        }
Exemple #5
0
        private string GetPaymentTransactionDescription(PaymentTransactionLine transaction)
        {
            var transactionPrefix = transaction.IsCoInvested ? "Co-investment - " : string.Empty;

            try
            {
                var ukprn        = Convert.ToInt32(transaction.UkPrn);
                var providerName = _apprenticeshipInfoServiceWrapper.GetProvider(ukprn);

                return($"{transactionPrefix}{providerName.Provider.ProviderName}");
            }
            catch (Exception ex)
            {
                _logger.Info(ex, $"Provider not found for UkPrn:{transaction.UkPrn}");
            }

            return($"{transactionPrefix}Training provider - name not recognised");
        }
Exemple #6
0
        public Task <GetApprenticeshipDetailsResponse> Handle(GetApprenticeshipDetailsQuery message)
        {
            var validationresult = _validator.Validate(message);

            if (!validationresult.IsValid())
            {
                throw new InvalidRequestException(validationresult.ValidationDictionary);
            }

            return(Task.Run(() =>
            {
                var provider = _apprenticeshipInfoService.GetProvider(message.ProviderId);

                var providerName = provider?.Provider?.Name ?? "Unknown provider";

                return new GetApprenticeshipDetailsResponse
                {
                    ProviderName = providerName
                };
            }));
        }