Ejemplo n.º 1
0
        public async Task <IActionResult> LookupAddress(LookupAddressViewModel 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));
            }

            model.LookupAddressResponse = await _geoLocationClient.LookupAddress(model.AddressData);

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

            return(View(model));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> LookupAddress(string id)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                return(View(new LookupAddressViewModel()));
            }

            var model = new LookupAddressViewModel
            {
                AddressData = id
            };

            return(await LookupAddress(model));
        }