Exemple #1
0
        public When_SqlSearchProvider_Search_Opportunities_Is_Called_With_Valid_Parameters()
        {
            var logger = Substitute.For <ILogger <Data.SearchProviders.SqlSearchProvider> >();

            _dbContext = new TestConfiguration().GetDbContext();

            _providerVenue = new ValidProviderVenueSearchBuilder().BuildOneVenue();
            _dbContext.Add(_providerVenue);
            _dbContext.SaveChanges();

            var provider = new Data.SearchProviders.SqlSearchProvider(logger, _dbContext);

            _results = provider.SearchOpportunitiesByPostcodeProximityAsync(new OpportunityProximitySearchParametersDto {
                Postcode = "CV1 2WT", SearchRadius = 5, SelectedRouteId = 7, Latitude = "52.400997", Longitude = "-1.508122"
            }).GetAwaiter().GetResult();
        }
        public When_SqlSearchProvider_Search_Opportunities_Is_Called_With_Valid_Postcode_But_Provider_Is_Disabled_For_Selected_Route()
        {
            var logger = Substitute.For <ILogger <Data.SearchProviders.SqlSearchProvider> >();

            _dbContext = new TestConfiguration().GetDbContext();

            _providerVenue = new ValidProviderVenueSearchBuilder().BuildWithOneDisabledVenue();
            _dbContext.Add(_providerVenue);
            _dbContext.SaveChanges();

            var provider = new Data.SearchProviders.SqlSearchProvider(logger, _dbContext);

            _results = provider.SearchOpportunitiesByPostcodeProximityAsync(new OpportunityProximitySearchParametersDto {
                Postcode = "MK1 1AD", SelectedRouteId = 7, Latitude = "52.010709", Longitude = "-0.736412"
            }).GetAwaiter().GetResult();
        }
Exemple #3
0
        public static async Task SetTestData(MatchingDbContext dbContext,
                                             Provider provider,
                                             ProviderVenue venue,
                                             Opportunity opportunity,
                                             BackgroundProcessHistory backgroundProcessHistory,
                                             bool isSaved = true, bool isSelectedForReferral = true)
        {
            backgroundProcessHistory.Status = BackgroundProcessHistoryStatus.Pending.ToString();

            await dbContext.AddAsync(provider);

            await dbContext.AddAsync(venue);

            await dbContext.AddAsync(opportunity);

            await dbContext.AddAsync(backgroundProcessHistory);

            await dbContext.SaveChangesAsync();

            dbContext.DetachAllEntities();

            var items = dbContext.OpportunityItem
                        .AsNoTracking()
                        .Where(oi => oi.OpportunityId == opportunity.Id)
                        .ToList();

            foreach (var opportunityItem in items)
            {
                opportunityItem.IsSaved               = isSaved;
                opportunityItem.IsCompleted           = false;
                opportunityItem.OpportunityType       = "Referral";
                opportunityItem.IsSelectedForReferral = isSelectedForReferral;

                dbContext.Entry(opportunityItem).Property("IsSaved").IsModified               = true;
                dbContext.Entry(opportunityItem).Property("IsCompleted").IsModified           = true;
                dbContext.Entry(opportunityItem).Property("IsSelectedForReferral").IsModified = true;
                dbContext.Entry(opportunityItem).Property("OpportunityType").IsModified       = true;
            }

            await dbContext.SaveChangesAsync();

            dbContext.DetachAllEntities();
        }
        private async Task GetGeoLocationDataAsync(AddProviderVenueViewModel viewModel, ProviderVenue providerVenue)
        {
            var geoLocationData = await _locationApiClient.GetGeoLocationDataAsync(viewModel.Postcode, true);

            providerVenue.Postcode  = geoLocationData.Postcode;
            providerVenue.Latitude  = geoLocationData.Latitude.ToDecimal();
            providerVenue.Longitude = geoLocationData.Longitude.ToDecimal();

            var geometryFactory = NtsGeometryServices.Instance.CreateGeometryFactory(4326);

            providerVenue.Location = geometryFactory.CreatePoint(new Coordinate(double.Parse(geoLocationData.Longitude), double.Parse(geoLocationData.Latitude)));
        }
 private async Task GetGoogleAddressDetailsAsync(ProviderVenue providerVenue)
 {
     providerVenue.Town = await _googleMapApiClient.GetAddressDetailsAsync(providerVenue.Postcode);
 }