public async Task EnviaEmailAsync(string token, Extrato extrato) { try { await _service.ValidateTokenAsync(token); var(emailConfigs, emailConstants) = GetConfiguration(); var content = await System.IO.File.ReadAllTextAsync("wwwroot/Credito.html"); foreach (var item in emailConstants) { var text = extrato.GetType().GetProperty(item.Key).GetValue(extrato, null).ToString(); if (!string.IsNullOrEmpty(text)) { content = content.Replace(item.Value, text); } } var configuracoes = await _configService.GetConfiguracoesAsync(extrato.IdCliente, extrato.UsuarioCriacao); var sender = emailConfigs.GetValue <string>("Sender"); var configuracao = configuracoes.Where(c => c.Chave.Equals(sender)).SingleOrDefault(); if (!string.IsNullOrEmpty(extrato.EmailEmpresa)) { var emailToClient = new Email(content, "Crédito em conta StaffPro", configuracao.Valor, extrato.EmailEmpresa, extrato.IdCliente); await _emailService.EnviarEmailAsync(emailToClient, extrato.IdCliente, extrato.UsuarioCriacao); } } catch (Exception e) { //Erro ao enviar e-mail não impacta no processo } }