public async Task<GeocodeDto> ReverseGeocode(GetGeocodeInput input) { if(input.Latitude.HasValue && input.Longitude.HasValue) { return GeocodeByLatLong(input.Latitude.Value, input.Longitude.Value); } return new GeocodeDto(); }
public async Task<Dtos.SubscribersDto> CreateSubscribers(Dtos.CreateSubscribersInput input) { //Find Geocoding GetGeocodeInput inputGeocode = new GetGeocodeInput() { Address1 = input.AddressLine1, Address2 = input.AddressLine2, City = input.City, State = input.State, Zip = input.AreaCode }; var geocodeResults = await _geocodingService.GeocodeAddress(inputGeocode); //We can use Logger, it's defined in ApplicationService class. //ERROR: Logger.Info("Creating a task for input: " + input); //Creating a new Task entity with given input's properties var Subscribers = new Subscriber { FullName = input.FullName, SmsNumber = input.SmsNumber, Email = input.Email, ApiKey = input.ApiKey.HasValue ? input.ApiKey.Value : Guid.Empty, Latitude = geocodeResults.Latitude, Longitude = geocodeResults.Longitude }; //Saving entity with standard Insert method of repositories. int SubscribersId = _subscribersRepository.InsertAndGetId(Subscribers); return new Dtos.SubscribersDto { FullName = input.FullName, SmsNumber = input.SmsNumber, Email = input.Email, Id = SubscribersId, Longitude = geocodeResults.Longitude, Latitude = geocodeResults.Latitude }; }
public async Task<GeocodeDto> GeocodeAddress(GetGeocodeInput input) { string address = String.Format("{0} {1} {2} {3} {4} ", input.Address1, input.Address2, input.City, input.State, input.Zip, input.Country); return GeocodeByAddress(address); }