public async Task <bool> RegistrarCorreo(UsuarioRegistroCorreoDto usuarioRegistroCorreoDto)
        {
            var usuarioEntity = _ctx.Usuarios.FirstOrDefault(u => u.IdValidacionCorreo == usuarioRegistroCorreoDto.IdValidacion);

            usuarioEntity.SaltContrasenna = Crypto.CrearSalt(AppVariables.LargoSalt);
            usuarioEntity.HashContrasenna = Crypto.CrearHashSHA256(usuarioRegistroCorreoDto.Contrasenna, usuarioEntity.SaltContrasenna);
            usuarioEntity.CorreoValidado  = true;
            usuarioEntity.Bloqueado       = false;
            usuarioEntity.Intentos        = 0;
            await _ctx.SaveChangesAsync();

            return(true);
        }
Exemple #2
0
        public async Task <IActionResult> RegistrarCorreo(UsuarioRegistroCorreoDto usuarioRegistroCorreoDto)
        {
            var respuesta = new RespuestaApiDto();

            try
            {
                var usuarioEntity = await _usuarioRepository.ObtenerUsuarioPorIdValidacionCorreo(usuarioRegistroCorreoDto.IdValidacion);

                if (usuarioEntity == null)
                {
                    return(BadRequest());
                }

                if (usuarioEntity.FechaEnvioValidacion.AddDays(AppVariables.DiasPermitidosParaValidarCorreo).Subtract(DateTime.Now).TotalSeconds < 0)
                {
                    await _usuarioRepository.ReenviarValidacionCorreo(usuarioEntity.Id);

                    respuesta.Codigo  = -1;
                    respuesta.Mensaje = "Reenvio de Correo Validación";
                }
                else
                {
                    await _usuarioRepository.RegistrarCorreo(usuarioRegistroCorreoDto);

                    respuesta.Codigo          = 1;
                    respuesta.Mensaje         = "Registro exitoso";
                    respuesta.ObjetoRespuesta = usuarioEntity.ToDto();
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"fallo en Post Registrar Correo: {ex}");
                respuesta.Codigo  = 500;
                respuesta.Mensaje = "Excepción, consultar log.";
            }
            return(Ok(respuesta));
        }