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); }
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)); }