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); }