public async Task <bool> UpdateAddress(DTOAddress address) { Address mapAddress = _mapper.Map <Address>(address); _addressRepository.Update(mapAddress); bool success = true; try { await _addressRepository.SaveChanges(); } catch { if (!_addressRepository.AddressExists(address.AddressID)) { success = false; } else { throw; } } return(success); }
public DTOResponse <DTOAddress> GeocodeAddress(DTOAddress address) { DTOAddress result; var geocodeAddressResult = _googlePlaces.GeocodeAddress(address.Country, address.State, address.City, address.Street, address.Number, address.PostalCode); if (geocodeAddressResult.Code != 200) { return(new DTOResponse <DTOAddress>() { Code = 400, Message = geocodeAddressResult.Message }); } result = new DTOAddress() { Street = geocodeAddressResult.Data.Results.FirstOrDefault()?.AddressComponents?.Where(aC => aC.Types.Contains(AddressComponentType.Street_Address) || aC.Types.Contains(AddressComponentType.Route))?.FirstOrDefault()?.LongName ?? "", City = geocodeAddressResult.Data.Results.FirstOrDefault()?.AddressComponents?.Where(aC => aC.Types.Contains(AddressComponentType.Administrative_Area_Level_2))?.FirstOrDefault()?.ShortName ?? "", Country = geocodeAddressResult.Data.Results.FirstOrDefault()?.AddressComponents?.Where(aC => aC.Types.Contains(AddressComponentType.Country))?.FirstOrDefault()?.LongName ?? "", Number = geocodeAddressResult.Data.Results.FirstOrDefault()?.AddressComponents?.Where(aC => aC.Types.Contains(AddressComponentType.Street_Number))?.FirstOrDefault()?.LongName ?? "", PostalCode = geocodeAddressResult.Data.Results.FirstOrDefault()?.AddressComponents?.Where(aC => aC.Types.Contains(AddressComponentType.Postal_Code))?.FirstOrDefault()?.LongName ?? "", State = geocodeAddressResult.Data.Results.FirstOrDefault()?.AddressComponents?.Where(aC => aC.Types.Contains(AddressComponentType.Administrative_Area_Level_1))?.FirstOrDefault()?.ShortName ?? "", Latitude = geocodeAddressResult.Data.Results.FirstOrDefault()?.Geometry?.Location?.Latitude.ToString() ?? "", Longitude = geocodeAddressResult.Data.Results.FirstOrDefault()?.Geometry?.Location?.Longitude.ToString() ?? "", }; return(new DTOResponse <DTOAddress>() { Code = 200, Data = result }); }
public async Task <ActionResult <DTOAddress> > GetAddress(int id) { DTOAddress address = await _service.GetAddress(id); if (address == null) { return(NotFound()); } return(address); }
public async Task <ActionResult <DTOAddress> > AddAddress(DTOAddress address) { bool success = await _service.AddAddress(address); if (success) { return(CreatedAtAction("GetAddress", new { id = address.AddressID }, address)); } else { return(BadRequest()); } }
public async Task <IActionResult> UpdateAddress(DTOAddress address) { bool success = await _service.UpdateAddress(address); if (success) { return(Ok()); } else { return(NotFound()); } }
public async Task <bool> AddAddress(DTOAddress address) { Address mapAddress = _mapper.Map <Address>(address); _addressRepository.Add(mapAddress); bool success = true; try { await _addressRepository.SaveChanges(); } catch (Exception e) { success = false; } return(success); }
public DTOResponse <DTOAddress> GeocodePlace(DTOAddress address) { return(_domain.GeocodeAddress(address)); }