none
Como tirar um valor por replace c# RRS feed

  • Pergunta

  • Problema: Estou tendo um problema, criei um disparo de e-mail quando o usuário solicita um orçamento.
    Tem produto que tem dimensões e tem produto que não.
    Para o usuário ele recebe como:

    Nome: Thiago
    E-mail: contato@email.com
    Produto: Teste
    Caixa: {caixa}

    No caixa quando ele não tem nenhum tipo de especificação ele vem Caixa: {caixa}

    Cenário Ideal: Queria a opção se não tiver o tamanho ou qualquer outra dimensão como caixa ele não aparecesse.

    Código Abaixo:

            private string CorpoEmailOrcamento(string lead, string telefone, string email, string produto, string caixa, string essencia, string tamanho, string tipo, string utilizacao, string mensagem, string callback, string webRootPath)
            {
    
                string body = string.Empty;
    
                //using streamreader for reading my htmltemplate   
    
                using (StreamReader reader = new StreamReader(Path.Combine(webRootPath, "emailmodel/orcamento.html")))
                {
    
                    body = reader.ReadToEnd();
    
                }
    
                body = body.Replace("{lead}", lead);
                body = body.Replace("{telefone}", telefone);
                body = body.Replace("{email}", email);
                body = body.Replace("{produto}", produto);
                body = body.Replace("{<li><strong>Caixa:</strong> {caixa}</li>}", caixa);
                body = body.Replace("{essencia}", essencia);
                if (!string.IsNullOrEmpty(tamanho))
                {
                    body = body.Replace("{<li><strong>Tamanho:</strong> {tamanho}</li>}", tamanho);
                }
                else
                {
                    body = body.Replace("{<li><strong>Tamanho:</strong> {tamanho}</li>}", "<p>Teste de Tamanho</p>");
    
                }
    
                //body = body.Replace("{tamanho}", tamanho);
                body = body.Replace("{tipo}", tipo);
                body = body.Replace("{utilizacao}", utilizacao);
                body = body.Replace("{mensagem}", mensagem);
                body = body.Replace("{callback}", callback);
    
    
                return body;
    
            }

    Email Html:

    <ul>
    
                                                                                                                <li><strong>Nome:</strong> {lead}</li>
                                                                                                                <li><strong>Telefone:</strong> {telefone}</li>
                                                                                                                <li><strong>Produto:</strong> {produto}</li>
                                                                                                                <li><strong>Caixa:</strong> {caixa}</li>
                                                                                                                <li><strong>Essência:</strong> {essencia}</li>
                                                                                                                <li><strong>Tamanho:</strong> {tamanho}</li>
                                                                                                                <li><strong>Tipo:</strong> {tipo}</li>
                                                                                                                <li><strong>Utilização:</strong> {utilizacao}</li>
                                                                                                                <li><strong>Mensagem:</strong> {mensagem}</li>
    
    </ul>
    
    
    segunda-feira, 19 de agosto de 2019 16:31

Todas as Respostas

  • Não sei se isso será útil, mas eu faria um if para verificar se existe este valor "{caixa}" na variável, caso exista, efetue o replace para "" vazio.

    Abraços!

     

    Jimi Anderson

    terça-feira, 20 de agosto de 2019 23:13