Esempio n. 1
0
        public async Task <IActionResult> GetProvidersByStandardId(int id, [FromQuery] GetProvidersByStandardRequest request)
        {
            try
            {
                var queryResult = await _mediator.Send(new GetCourseProvidersQuery
                {
                    StandardId        = id,
                    Lat               = request.Lat,
                    Lon               = request.Lon,
                    SortOrder         = (short)request.SortOrder,
                    SectorSubjectArea = request.SectorSubjectArea,
                    Level             = (short)request.Level,
                    ShortlistUserId   = request.ShortlistUserId
                });

                var getCourseProviderResponses = queryResult
                                                 .Providers
                                                 .Select(c => GetProviderDetailResponse.Map(c, (short)request.Age))
                                                 .ToList();

                var response = new GetCourseProvidersListResponse
                {
                    Providers    = getCourseProviderResponses,
                    TotalResults = queryResult.Providers.Count()
                };
                return(Ok(response));
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"Unable to get providers by course id:{id}");
                return(BadRequest());
            }
        }
Esempio n. 2
0
        public void Then_Maps_Feedback_Ratings_And_Attributes(ProviderLocation providerLocation)
        {
            var actual = GetProviderDetailResponse.Map(providerLocation);

            actual.FeedbackRatings.Count.Should().Be(providerLocation.FeedbackRating.Count);
            actual.FeedbackAttributes.Count.Should().Be(providerLocation.FeedbackAttributes.Count);
        }
Esempio n. 3
0
        public void Then_Only_All_Ages_Are_Returned(ProviderLocation provider)
        {
            //Arrange
            provider.AchievementRates = new List <AchievementRate>
            {
                new AchievementRate
                {
                    Age = Age.SixteenToEighteen,
                    ApprenticeshipLevel = ApprenticeshipLevel.AllLevels
                },
                new AchievementRate
                {
                    Age = Age.AllAges,
                    ApprenticeshipLevel = ApprenticeshipLevel.AllLevels
                },
                new AchievementRate
                {
                    Age = Age.AllAges,
                    ApprenticeshipLevel = ApprenticeshipLevel.Three
                }
            };

            //Act
            var actual = GetProviderDetailResponse.Map(provider, (short)Age.AllAges);

            //Assert
            actual.AchievementRates.Count.Should().Be(2);
        }
Esempio n. 4
0
        public void Then_The_Fields_Are_Correctly_Mapped(Shortlist source)
        {
            var actual = (GetShortlistItemResponse)source;

            actual.Id.Should().Be(source.Id);
            actual.ShortlistUserId.Should().Be(source.ShortlistUserId);
            actual.ProviderDetails.Should().BeEquivalentTo(GetProviderDetailResponse.Map(source.ProviderLocation));
            actual.CourseId.Should().Be(source.StandardId);
            actual.LocationDescription.Should().Be(source.LocationDescription);
            actual.CreatedDate.Should().Be(source.CreatedDate);
        }
        public void Then_Maps_Fields(Application.Provider.Queries.ProviderByCourse.GetCourseProviderQueryResponse source)
        {
            var actual = GetProviderDetailResponse.Map(source.ProviderStandardLocation);

            actual.Name.Should().Be(source.ProviderStandardLocation.Name);
            actual.TradingName.Should().Be(source.ProviderStandardLocation.TradingName);
            actual.Ukprn.Should().Be(source.ProviderStandardLocation.Ukprn);
            actual.ContactUrl.Should().Be(source.ProviderStandardLocation.ContactUrl);
            actual.Email.Should().Be(source.ProviderStandardLocation.Email);
            actual.Phone.Should().Be(source.ProviderStandardLocation.Phone);
            actual.AchievementRates.Should().NotBeEmpty();
        }
Esempio n. 6
0
        public void Then_Maps_Fields(ProviderLocation provider)
        {
            var actual = GetProviderDetailResponse.Map(provider);

            actual.Ukprn.Should().Be(provider.Ukprn);
            actual.Name.Should().Be(provider.Name);
            actual.TradingName.Should().Be(provider.TradingName);
            actual.ProviderAddress.Should().BeEquivalentTo(provider.Address);
            actual.Email.Should().Be(provider.Email);
            actual.Phone.Should().Be(provider.Phone);
            actual.ContactUrl.Should().Be(provider.ContactUrl);
            actual.StandardInfoUrl.Should().Be(provider.StandardInfoUrl);
            actual.MarketingInfo.Should().Be(provider.MarketingInfo);
        }
Esempio n. 7
0
        public async Task <IActionResult> GetProviderByUkprn(int id, int ukprn, string sectorSubjectArea, double?lat = null, double?lon = null, Guid?shortlistUserId = null)
        {
            var queryResult = await _mediator.Send(new GetCourseProviderQuery
            {
                Ukprn             = ukprn,
                StandardId        = id,
                Lat               = lat,
                Lon               = lon,
                SectorSubjectArea = sectorSubjectArea,
                ShortlistUserId   = shortlistUserId
            });

            if (queryResult.ProviderStandardLocation == null)
            {
                return(NotFound());
            }

            return(Ok(GetProviderDetailResponse.Map(queryResult.ProviderStandardLocation)));
        }
Esempio n. 8
0
        public void Then_The_Delivery_Modes_Are_Mapped_If_Available(ProviderLocation providerLocation)
        {
            var actual = GetProviderDetailResponse.Map(providerLocation);

            actual.DeliveryTypes.Count.Should().Be(providerLocation.DeliveryTypes.Count);
        }