Example #1
0
        public async Task <IActionResult> RemoveData(RemoveMyDataViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (string.IsNullOrWhiteSpace(model.AddressData))
            {
                ModelState.AddModelError(nameof(model.AddressData),
                                         "You must provide an address to query against. IP or DNS is acceptable.");
                return(View(model));
            }

            if (!_addressValidator.ConvertAddress(model.AddressData, out var validatedAddress))
            {
                ModelState.AddModelError(nameof(model.AddressData),
                                         "The address provided is invalid. IP or DNS is acceptable.");
                return(View(model));
            }

            var removeDataForAddressResponse = await _geoLocationClient.RemoveDataForAddress(model.AddressData);

            if (!removeDataForAddressResponse.Success)
            {
                ModelState.AddModelError(nameof(model.AddressData), removeDataForAddressResponse.ErrorMessage);
                return(View(model));
            }

            model.RemoveDataForAddressResponse = removeDataForAddressResponse;

            return(View(model));
        }