/// <returns>A task that represents the asynchronous operation</returns>
        public async Task <IActionResult> Delete(int id)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageShippingSettings))
            {
                return(AccessDeniedView());
            }

            var pickupPoint = await _storePickupPointService.GetStorePickupPointByIdAsync(id);

            if (pickupPoint == null)
            {
                return(RedirectToAction("Configure"));
            }

            var address = await _addressService.GetAddressByIdAsync(pickupPoint.AddressId);

            if (address != null)
            {
                await _addressService.DeleteAddressAsync(address);
            }

            await _storePickupPointService.DeleteStorePickupPointAsync(pickupPoint);

            return(new NullJsonResult());
        }