public async Task <GeolocationResponse> SaveAsync(GeolocationData geolocationData)
        {
            try
            {
                await _geolocationRepository.AddAsync(geolocationData);

                await _unitOfWork.CompleteAsync();

                return(new GeolocationResponse(geolocationData));
            }
            catch (Exception ex)
            {
                return(new GeolocationResponse($"An error occurred when saving the category: {ex.Message}"));
            }
        }
        public async Task AddAsync(string address)
        {
            _networkAddress.CheckIfAddressIsValid(address);
            var geolocation = await _geolocationRepository.GetAsync(address);

            if (geolocation != null)
            {
                throw new ServiceException(HttpStatusCode.Conflict,
                                           $"Geolocation with address {address} already exists");
            }
            var newGeolocation = await _service.GetDetailsAboutAddress(address);

            newGeolocation.Key = address;
            await _geolocationRepository.AddAsync(newGeolocation);
        }