private async Task SalvarUsuarioCache(RetornoUsuarioCoreSSO usuarioCoreSSO) { if (usuarioCoreSSO != null) { try { var chaveUsuarioIdCache = $"{USUARIOPORID}-{usuarioCoreSSO.UsuId}"; var chaveUsuarioCpfCache = $"{USUARIOPORCPF}-{usuarioCoreSSO.Cpf}"; await Task.WhenAll( cacheRepositorio.SalvarAsync(chaveUsuarioIdCache, usuarioCoreSSO), cacheRepositorio.SalvarAsync(chaveUsuarioCpfCache, usuarioCoreSSO) ); } catch (Exception ex) { SentrySdk.CaptureException(ex); throw ex; } } }
public async Task <bool> Handle(VerificaPalavraProibidaPodePersistirCommand request, CancellationToken cancellationToken) { var palavrasBloqueadas = new string[] { }; var chaveCache = $"palavras-bloqueadas"; var cachePalavrasBloqueadas = cacheRepositorio.Obter(chaveCache); if (cachePalavrasBloqueadas == null) { palavrasBloqueadas = await mediator.Send(new ObterPalavrasProibidasQuery()); if (palavrasBloqueadas == null || !palavrasBloqueadas.Any()) { return(true); } await cacheRepositorio.SalvarAsync(chaveCache, palavrasBloqueadas); } else { palavrasBloqueadas = JsonConvert.DeserializeObject <string[]>(cachePalavrasBloqueadas); } var palavrasTratadas = request.Texto.ToLower(); var listaPalavrasBloqueadas = palavrasBloqueadas.Select(i => i.ToLower()).ToList(); var palavrasProibidas = string.Join("|", listaPalavrasBloqueadas); string pattern = $@"\b(\w*({palavrasProibidas})\w*)\b"; var m = Regex.Matches(palavrasTratadas, pattern, RegexOptions.IgnoreCase); if (m.Count() > 0) { return(false); } return(true); }
public async Task CriaUsuarioDispositivo(long usuarioId, string dispositivoId) { try { using var conn = new NpgsqlConnection(ConnectionStrings.Conexao); conn.Open(); var dataHoraAtual = DateTime.Now; await conn.ExecuteAsync( @"INSERT INTO public.usuario_dispositivo (usuario_id, codigo_dispositivo, criadoem) VALUES(@usuarioId, @dispositivoId , @dataHoraAtual ); ", new { usuarioId, dispositivoId, dataHoraAtual }); conn.Close(); var chaveCache = $"UsuarioDispositivo-{usuarioId}-{dispositivoId}"; await cacheRepositorio.SalvarAsync(chaveCache, JsonConvert.SerializeObject(new UsuarioDispositivoDto(usuarioId, dispositivoId)), 1080, false); } catch (Exception ex) { SentrySdk.CaptureException(ex); } }