public async Task <ActionResult> Index(ZipCodeViewModel model) { if (ModelState.IsValid) { try { model.GeographicData = await _geographicLookupService.Lookup(model.ZipCode); } catch (Exception e) { _logger.LogError(e, $"Error looking up postal code {model.ZipCode}: {e.Message}"); } if (model.GeographicData == null) { ModelState.AddModelError("", "Couldn't geolocate the postal code entered. Please check again."); } else { LastZipCode = JsonConvert.SerializeObject(model.GeographicData); } } model.PreviousZipCodeEntries = _zipCodeService.GetAll(); return(View(model)); }
public async Task LoadCommand_CallsZipCodesRepository_LoadZipCode() { // arrange var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose); var alertServiceMock = MockHelpers.CreateAlertService(); var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Loose); var citiesRepositoryMock = new Mock <ICitiesRepository>(MockBehavior.Loose); var viewModel = new ZipCodeViewModel( navigationsServiceMock.Object, alertServiceMock.Object, zipCodesRepositoryMock.Object, citiesRepositoryMock.Object ); // act await viewModel.Initialize(new ZipCodeViewModel.Parameter(3)); await viewModel.LoadCommand.ExecuteAsync(); // assert zipCodesRepositoryMock.Verify(mock => mock.GetById( It.Is <int>(item => item == 3) ), Times.Once()); }
public IActionResult Index() { var model = new ZipCodeViewModel { PreviousZipCodeEntries = _zipCodeService.GetAll() }; return(View(model)); }
public async Task SelectCommand_NavigatesToCorrectViewModelWithCorrectData() { // arrange var zipCode = new ZipCodeModel { Id = 3, CityId = 2, Zip = 123, Latitude = 10, Longitude = 20 }; var city = new CityModel { Id = 2, Name = "test" }; var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose); var alertServiceMock = MockHelpers.CreateAlertService(); var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Loose); zipCodesRepositoryMock.Setup(mock => mock.GetById(It.IsAny <int>())) .Returns(zipCode); zipCodesRepositoryMock.Setup(mock => mock.GetNearby(It.IsAny <int>(), It.IsAny <int>())) .Returns(new[] { zipCode }); var citiesRepositoryMock = new Mock <ICitiesRepository>(MockBehavior.Loose); citiesRepositoryMock.Setup(mock => mock.GetById(It.IsAny <int>())) .Returns(city); var viewModel = new ZipCodeViewModel( navigationsServiceMock.Object, alertServiceMock.Object, zipCodesRepositoryMock.Object, citiesRepositoryMock.Object ); // act await viewModel.LoadCommand.ExecuteAsync(); await viewModel.SelectCommand.ExecuteAsync(viewModel.Nearby.First()); // assert navigationsServiceMock.Verify(mock => mock.Navigate <ZipCodeViewModel, ZipCodeViewModel.Parameter>( It.Is <ZipCodeViewModel.Parameter>(item => item.ZipCodeId == 3), It.IsAny <IMvxBundle>() ), Times.Once()); }
public async Task LoadCommand_CallsZipCodesRepository_LoadNearbyData() { // arrange var zipCode = new ZipCodeModel { Id = 3, CityId = 2, Zip = 123, Latitude = 10, Longitude = 20 }; var city = new CityModel { Id = 2, Name = "test" }; var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose); var alertServiceMock = MockHelpers.CreateAlertService(); var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Loose); zipCodesRepositoryMock.Setup(mock => mock.GetById(It.IsAny <int>())) .Returns(zipCode); zipCodesRepositoryMock.Setup(mock => mock.GetNearby(It.IsAny <int>(), It.IsAny <int>())) .Returns(new[] { zipCode }); var citiesRepositoryMock = new Mock <ICitiesRepository>(MockBehavior.Loose); citiesRepositoryMock.Setup(mock => mock.GetById(It.IsAny <int>())) .Returns(city); var viewModel = new ZipCodeViewModel( navigationsServiceMock.Object, alertServiceMock.Object, zipCodesRepositoryMock.Object, citiesRepositoryMock.Object ); // act await viewModel.Initialize(new ZipCodeViewModel.Parameter(3)); await viewModel.LoadCommand.ExecuteAsync(); // assert zipCodesRepositoryMock.Verify(mock => mock.GetNearby( It.Is <int>(item => item == 3), It.Is <int>(item => item == Configuration.NearbyZipCodesCount) ), Times.Once()); }
/// <summary> /// Trae las poblaciones o colinias por medio del codigo postal /// </summary> /// <param name="pCodigoPostal"></param> /// <returns></returns> public JsonResult PoblacionesOColoniasCodigoPostal(ZipCodeViewModel pCodigoPostal) { ErrorProcedimientoAlmacenado errorError = new ErrorProcedimientoAlmacenado(); clsCodigoPostal cCodPostal = new clsCodigoPostal(); cCodPostal.Clave = pCodigoPostal.zipCode; CatalogoCodigoPostalRdn catPobColonias = new CatalogoCodigoPostalRdn(); List <pa_PeticionesWeb_Catalogos_Obtener_PoblacionesOColoniasByCodigoPostal_Result> respuesta = new List <pa_PeticionesWeb_Catalogos_Obtener_PoblacionesOColoniasByCodigoPostal_Result>(); pa_PeticionesWeb_Catalogos_Obtener_PoblacionesOColoniasByCodigoPostal_Result OpcionSelecciona = new pa_PeticionesWeb_Catalogos_Obtener_PoblacionesOColoniasByCodigoPostal_Result(); respuesta = catPobColonias.solicitarPobColCP(cCodPostal, errorError); return(Json(respuesta.OrderBy(P => P.Nombre), JsonRequestBehavior.AllowGet)); }
/// <summary> /// Trael el Estado por medio del CP /// </summary> /// <returns></returns> public JsonResult GetEstadoCP(ZipCodeViewModel pCodigoPostal) { ErrorProcedimientoAlmacenado errorErrror = new ErrorProcedimientoAlmacenado(); clsCodigoPostal cCodPostal = new clsCodigoPostal(); //cCodPostal.Clave = pCodigoPostal.zipCode; cCodPostal.Clave = pCodigoPostal.zipCode; CatalogoCodigoPostalRdn catEstado = new CatalogoCodigoPostalRdn(); List <pa_PeticionesWeb_Catalogos_Obtener_EstadoByCodigoPostal_Result> respuesta = new List <pa_PeticionesWeb_Catalogos_Obtener_EstadoByCodigoPostal_Result>(); respuesta = catEstado.solicitarEstadoCP(cCodPostal, errorErrror); return(Json(respuesta.OrderBy(E => E.IdEstado), JsonRequestBehavior.AllowGet)); }
public async Task LoadCommand_CallsCityRepository_SetCityData() { // arrange var zipCode = new ZipCodeModel { Id = 3, CityId = 2, Zip = 123, Latitude = 10, Longitude = 20 }; var city = new CityModel { Id = 2, Name = "test" }; var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose); var alertServiceMock = MockHelpers.CreateAlertService(); var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Loose); zipCodesRepositoryMock.Setup(mock => mock.GetById(It.IsAny <int>())) .Returns(zipCode); var citiesRepositoryMock = new Mock <ICitiesRepository>(MockBehavior.Loose); citiesRepositoryMock.Setup(mock => mock.GetById(It.IsAny <int>())) .Returns(city); var viewModel = new ZipCodeViewModel( navigationsServiceMock.Object, alertServiceMock.Object, zipCodesRepositoryMock.Object, citiesRepositoryMock.Object ); // act await viewModel.Initialize(new ZipCodeViewModel.Parameter(3)); await viewModel.LoadCommand.ExecuteAsync(); // assert Assert.AreEqual(city.Name, viewModel.City); }