Beispiel #1
0
        public async Task <PublishedFundingDates> GetDatesForSpecification(string specificationId)
        {
            PublishedFundingDates result;

            ApiResponse <SpecificationPublishDateModel> publishDatesResponse = await _specificationsApiPolicy.ExecuteAsync(() =>
                                                                                                                           _specificationsApiClient.GetPublishDates(specificationId));

            DateTime statusChangedDate            = DateTime.Now;
            DateTime earliestPaymentAvailableDate = DateTime.Now;
            DateTime externalPublicationDate      = DateTime.Now;

            if (publishDatesResponse?.StatusCode != System.Net.HttpStatusCode.OK)
            {
                throw new InvalidOperationException($"Get Publish Dates API returned non success response. Response status code {publishDatesResponse.StatusCode}");
            }

            earliestPaymentAvailableDate =
                publishDatesResponse.Content.EarliestPaymentAvailableDate.HasValue
                ? publishDatesResponse.Content.EarliestPaymentAvailableDate.Value.UtcDateTime
                : DateTime.Now;

            externalPublicationDate =
                publishDatesResponse.Content.ExternalPublicationDate.HasValue
                ? publishDatesResponse.Content.ExternalPublicationDate.Value.UtcDateTime
                : DateTime.Now;

            result = new PublishedFundingDates()
            {
                StatusChangedDate            = statusChangedDate,
                EarliestPaymentAvailableDate = earliestPaymentAvailableDate,
                ExternalPublicationDate      = externalPublicationDate,
            };

            return(result);
        }
        public void SetSpecificationPublishDateModel(string specificationId, PublishedFundingDates publishedFundingDates)
        {
            Guard.IsNullOrWhiteSpace(specificationId, nameof(specificationId));

            SpecificationPublishDateModel specificationPublishDateModel = new SpecificationPublishDateModel
            {
                EarliestPaymentAvailableDate = publishedFundingDates.EarliestPaymentAvailableDate,
                ExternalPublicationDate      = publishedFundingDates.ExternalPublicationDate
            };

            _specificationPublishDateModels[specificationId] = specificationPublishDateModel;
        }
        public void GivenThePublishingDatesForTheSpecifcationAreSetAsFollowing(Table table)
        {
            PublishedFundingDates publishedFundingDates = table.CreateInstance <PublishedFundingDates>();

            _publishingDatesStepContext.EmulatedClient.SetSpecificationPublishDateModel(_currentSpecificationStepContext.SpecificationId, publishedFundingDates);
        }