Exemplo n.º 1
0
        public async Task <IActionResult> PutContrasenia([FromBody] Contrasenias claves)
        {
            if (!ModelState.IsValid)
            {
                return(HttpBadRequest(ModelState));
            }

            var confirma = await usuarios.ConfirmarClaveActualAsync(User.Id(), claves.Actual);

            if (!confirma)
            {
                return(HttpBadRequest(new { errores = new[] { "La contraseña actual no es correcta" } }));
            }

            var modificado = await usuarios.CambiarContraseniaAsync(User.Id(), claves.Nueva);

            if (modificado)
            {
                return(Ok());
            }
            else
            {
                return(new HttpStatusCodeResult((int)HttpStatusCode.NotModified));
            }
        }