Ejemplo n.º 1
0
        public async Task <IActionResult> Restablecer(string id)
        {
            var restablecimiento = await restablecimientoServicio.GetByIDAsync(id);

            RestablecimientoContrasenaViewModel cambioContrasena;

            if (restablecimiento == null)
            {
                cambioContrasena = new RestablecimientoContrasenaViewModel()
                {
                    IdRestablecimiento     = string.Empty,
                    ConfirmacionContrasena = string.Empty,
                    NuevaContrasena        = string.Empty,
                };
            }
            else
            {
                cambioContrasena = new RestablecimientoContrasenaViewModel()
                {
                    IdRestablecimiento     = id,
                    ConfirmacionContrasena = string.Empty,
                    NuevaContrasena        = string.Empty,
                };
            }

            return(View(cambioContrasena));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Guardar(RestablecimientoContrasenaViewModel cambio)
        {
            if (!ModelState.IsValid)
            {
                return(View("Restablecer", cambio));
            }

            var restablecimiento = await restablecimientoServicio.GetByIDAsync(cambio.IdRestablecimiento);

            if (restablecimiento == null)
            {
                ModelState.AddModelError("", "Ocurrio un problema al restablecer la contrasena");
                return(View("Restablecer", cambio));
            }
            else
            {
                if (string.IsNullOrEmpty(cambio.NuevaContrasena.Trim()) || string.IsNullOrEmpty(cambio.ConfirmacionContrasena.Trim()))
                {
                    ModelState.AddModelError("", "La contrasena es requerida");
                    return(View("Restablecer", cambio));
                }

                if (!cambio.NuevaContrasena.Trim().Equals(cambio.ConfirmacionContrasena.Trim()))
                {
                    ModelState.AddModelError("", "Las contrasenas no coinciden");
                    return(View("Restablecer", cambio));
                }

                var cliente = await clienteServicio.GetByIdAsync(restablecimiento.ClienteId);

                cliente.Contrasena = cambio.NuevaContrasena;
                await clienteServicio.EditAsync(cliente);

                if (cliente == null)
                {
                    ModelState.AddModelError("", "Ocurrio un problema al restablecer la contrasena");
                    return(View("Restablecer", cambio));
                }

                await restablecimientoServicio.Eliminar(cambio.IdRestablecimiento);

                return(RedirectToAction("Login", "Cliente"));
            }
        }