Exemplo n.º 1
0
        public GoogleAPIUtilityQueryResult Handle(GoogleAPIUtilityQuery query)
        {
            List <FIL.Contracts.Models.GoogleAPIUtility> googleAPIUtilityList = new List <FIL.Contracts.Models.GoogleAPIUtility>();

            if (query.IsAll)
            {
                var city   = _cityRepository.SearchByCityName(query.CityName);
                var venues = _venueRepository.GetAllVenueByCity(query.CityName).ToList();

                foreach (FIL.Contracts.DataModels.Venue venue in venues)
                {
                    FIL.Contracts.Models.GoogleAPIUtility googleAPIUtility = new FIL.Contracts.Models.GoogleAPIUtility();
                    var currentCity    = _cityRepository.Get(venue.CityId);
                    var currentState   = _stateRepository.Get(currentCity.StateId);
                    var currentCountry = _countryRepository.Get(currentState.CountryId);
                    googleAPIUtility.VenueId = venue.Id;
                    googleAPIUtility.Venue   = venue.Name;
                    googleAPIUtility.City    = currentCity.Name;
                    googleAPIUtility.State   = currentState.Name;
                    googleAPIUtility.Country = currentCountry.Name;
                    googleAPIUtilityList.Add(googleAPIUtility);
                }
            }
            else
            {
                var venues = _venueRepository.GetAll().ToList();
                for (int k = 0; k < venues.Count; k = k + 2000)
                {
                    var currentVenues = venues.Skip(k).Take(2000);
                    foreach (FIL.Contracts.DataModels.Venue venue in venues)
                    {
                        FIL.Contracts.Models.GoogleAPIUtility googleAPIUtility = new FIL.Contracts.Models.GoogleAPIUtility();
                        var currentCity    = _cityRepository.Get(venue.CityId);
                        var currentState   = _stateRepository.Get(currentCity.StateId);
                        var currentCountry = _countryRepository.Get(currentState.CountryId);
                        googleAPIUtility.VenueId = venue.Id;
                        googleAPIUtility.Venue   = venue.Name;
                        googleAPIUtility.City    = currentCity.Name;
                        googleAPIUtility.State   = currentState.Name;
                        googleAPIUtility.Country = currentCountry.Name;
                        googleAPIUtilityList.Add(googleAPIUtility);
                    }
                }
            }
            return(new GoogleAPIUtilityQueryResult
            {
                Venues = googleAPIUtilityList
            });
        }