/// <summary> /// Obtiene los municipios del estado seleccionado. /// </summary> /// <returns>Un resultado Json con el listado de municipios correspondientes al estado.</returns> public JsonResult OnGetMunicipios() { List <Municipio> municipios; municipios = ObtenerDatosCliente.MunicipiosEnEstado(IdEstadoSeleccionado).Result; return(new JsonResult(municipios)); }
/// <summary> /// Carga los datos de dirección del usuario y la lista de estados. /// </summary> /// <param name="user">Usuario que desea acceder a su dirección</param> /// <returns>Indicación de que terminó la taarea.</returns> private async Task LoadAsync(IdentityUser user) { try { var datos = ObtenerDatosCliente.Direccion(await _userManager.GetUserIdAsync(user)).Result; var edo = ObtenerDatosCliente.Estado(datos.idmunicipio).Result; var mun = ObtenerDatosCliente.Municipio(datos.idmunicipio).Result; Input = new InputModel { IdDir = datos.iddireccion, Calle = datos.calle, CodigoPostal = datos.codigoPostal, NoExt = datos.noExterior, NoInt = datos.noInterior }; IdEstadoSeleccionado = edo.Idestado; IdMunicipioSeleccionado = datos.idmunicipio; Estados = new SelectList(ObtenerDatosCliente.Estados().Result, nameof(Estado.Idestado), nameof(Estado.Nombre)); Municipios = new SelectList(ObtenerDatosCliente.MunicipiosEnEstado(edo.Idestado).Result, nameof(Municipio.Idmunicipio), nameof(Municipio.Nombre)); } catch (Exception e) { Input = new InputModel(); Estados = new SelectList(ObtenerDatosCliente.Estados().Result, nameof(Estado.Idestado), nameof(Estado.Nombre), null); SelectListItem vacio = new SelectListItem() { Value = "", Text = "" }; List <SelectListItem> vacios = new List <SelectListItem>(); vacios.Add(vacio); Municipios = new SelectList(vacios, nameof(vacio.Value), nameof(vacio.Text), null); } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/Error/Error"); try { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"No se puede dar con el usuario con el ID '{_userManager.GetUserId(User)}'.")); } if (!ModelState.IsValid) { await LoadAsync(user); return(Page()); } try { var datos = ObtenerDatosCliente.Usuario(await _userManager.GetUserIdAsync(user)).Result; } catch (Exception e) { return(NotFound($"No se puede dar con el usuario con el ID '{_userManager.GetUserId(User)}'.")); } if (!await datosIgualAsync(user)) { var datos = ObtenerDatosCliente.Usuario(await _userManager.GetUserIdAsync(user)).Result; var respuesta = await EnviarDatosCliente.ActualizarUsuario( new Usuario() { Idusuario = Input.IdUsuario, IDidentity = await _userManager.GetUserIdAsync(user), Nombre = Input.Nombre, Apellido = Input.Apellido }); if (respuesta.IsSuccessStatusCode) { StatusMessage = "Tus datos personales han cambiado."; return(RedirectToPage()); } } StatusMessage = "Tus datos personales no han cambiado."; return(RedirectToPage()); } catch (Exception e) { return(LocalRedirect(returnUrl)); } }
public IActionResult Index() { try { ViewBag.Carrusel = ObtenerDatosCliente.Inicio().Result; } catch (Exception e) { return(Redirect("~/Error/Error")); } return(View()); }
private async Task <bool> datosIgualAsync(IdentityUser user) { var datos = ObtenerDatosCliente.Usuario(await _userManager.GetUserIdAsync(user)).Result; if (datos.IDidentity == await _userManager.GetUserIdAsync(user) && datos.Nombre.Equals(Input.Nombre) && datos.Apellido.Equals(Input.Apellido) && datos.Idusuario == Input.IdUsuario) { return(true); } return(false); }
/// <summary> /// Obtiene las categorías que puede visualizar el cliente para ponerlos en una /// lista desplegable. /// </summary> /// <returns>La vista con las categorias como un listado en una ViewBag</returns> public IViewComponentResult Invoke() { try { ViewBag.Categorias = ObtenerDatosCliente.ListaCategorias().Result; } catch (Exception e) { ViewBag.Categorias = new List <Categoria>(); } return(View()); }
public IActionResult GridLibros(int id) { try { ViewBag.Libros = ObtenerDatosCliente.ListaLibros(id).Result; ViewBag.Categoria = ObtenerDatosCliente.Categoria(id).Result; } catch (Exception e) { return(Redirect("~/Error/Error")); } return(View()); }
/// <summary> /// Verifica si datos introducidos por el usuario son los mismos a los anteriores. /// </summary> /// <param name="user">Usuario del que debe comparar los datos.</param> /// <returns>TRUE si son iguales, FALSE si no son iguales.</returns> private async Task <bool> dirIgualAsync(IdentityUser user) { var datos = ObtenerDatosCliente.Direccion(await _userManager.GetUserIdAsync(user)).Result; if (datos.codigoPostal == Input.CodigoPostal && datos.calle.Equals(Input.Calle) && datos.noExterior == Input.NoExt && ((datos.noInterior == null && Input.NoInt == null) || ((datos.noInterior != null) && datos.noInterior.Equals(Input.NoInt)) || ((Input.NoInt != null) && Input.NoInt.Equals(datos.noInterior))) && datos.idmunicipio == IdMunicipioSeleccionado) { return(true); } return(false); }
private async Task LoadAsync(IdentityUser user) { try { var datos = ObtenerDatosCliente.Usuario(await _userManager.GetUserIdAsync(user)).Result; Input = new InputModel { Nombre = datos.Nombre, Apellido = datos.Apellido, IdUsuario = datos.Idusuario }; } catch (Exception e) { throw e; } }
/// <summary> /// Verifica que los datos introducidos sean correctos y estén completos, si es así actualiza la base de datos, /// crea la dirección si el usuario no tiene una. /// </summary> /// <returns>El formulario con una confirmación de los cambios o la señalización de los errores.</returns> public async Task <IActionResult> OnPostAsync() { string returnUrl = Url.Content("~/Error/Error"); try { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"No se puede dar con el usuario con el ID '{_userManager.GetUserId(User)}'.")); } if (!ModelState.IsValid) { await LoadAsync(user); return(Page()); } if (!ObtenerDatosCliente.DireccionExiste(user.Id).Result) { var respuesta = await EnviarDatosCliente.CrearDireccion(new Direccion() { calle = Input.Calle, codigoPostal = Input.CodigoPostal, idusuario = ObtenerDatosCliente.Usuario(user.Id).Result.Idusuario, idmunicipio = IdMunicipioSeleccionado, noExterior = Input.NoExt, noInterior = Input.NoInt }); if (respuesta.IsSuccessStatusCode) { StatusMessage = "Tu direccion ha cambiado."; return(RedirectToPage()); } } else { if (!await dirIgualAsync(user)) { var datos = ObtenerDatosCliente.Direccion(await _userManager.GetUserIdAsync(user)).Result; var respuesta = await EnviarDatosCliente.ActualizarDireccion( new Direccion() { calle = Input.Calle, codigoPostal = Input.CodigoPostal, idusuario = ObtenerDatosCliente.Usuario(user.Id).Result.Idusuario, idmunicipio = IdMunicipioSeleccionado, noExterior = Input.NoExt, noInterior = Input.NoInt, iddireccion = Input.IdDir }); if (respuesta.IsSuccessStatusCode) { StatusMessage = "Tu direccion ha cambiado."; return(RedirectToPage()); } } } StatusMessage = "Tu direccion no ha cambiado."; return(RedirectToPage()); } catch (Exception e) { return(LocalRedirect(returnUrl)); } }