private void Envia_Email() { using (Doran_ERP_Servicos_Email.PopMail mail = new Doran_ERP_Servicos_Email.PopMail(_ID_USUARIO, ID_CONTA_EMAIL)) { Dictionary <string, object> dados = new Dictionary <string, object>(); dados.Add("ID_MESSAGE", 0); dados.Add("ID_CONTA_EMAIL", ID_CONTA_EMAIL); dados.Add("FROM_ADDRESS", FROM_ADDRESS); dados.Add("PRIORITY", 1); dados.Add("SUBJECT", CODIGO_PRODUTO.Trim().Length > 0 ? string.Concat("Nova Posição do Pedido ", NUMERO_PEDIDO.ToString(), " - Cliente: ", CLIENTE, " - Produto: ", CODIGO_PRODUTO) : string.Concat("Nova Posição do Pedido ", NUMERO_PEDIDO.ToString(), " - Cliente: ", CLIENTE)); dados.Add("BODY", HISTORICO); dados.Add("RAW_BODY", HISTORICO); dados.Add("NUMERO_CRM", 0); List <string> TOs = new List <string>(); TOs.Add(DESTINATARIOS[0]); List <string> CCs = new List <string>(); for (int i = 1; i < DESTINATARIOS.Count; i++) { CCs.Add(DESTINATARIOS[i]); } List <string> BCCs = new List <string>(); List <string> Attachments = new List <string>(); decimal ID_MESSAGE = mail.Salva_Mensagem_como_Rascunho(dados, TOs, CCs, BCCs, Attachments); mail.Envia_Email_que_estava_gravado_como_rascunho(ID_MESSAGE); } }
public void Solicita_Liberacao(decimal NUMERO_PEDIDO_COMPRA, decimal CODIGO_FORNECEDOR, decimal ID_USUARIO, decimal ID_CONTA_EMAIL, string FROM_ADDRESS, List <decimal> IDs_USUARIO) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx.TB_PEDIDO_COMPRAs where linha.NUMERO_PEDIDO_COMPRA == NUMERO_PEDIDO_COMPRA && linha.CODIGO_FORNECEDOR == CODIGO_FORNECEDOR select new { linha.NUMERO_PEDIDO_COMPRA, linha.TB_FORNECEDOR.NOME_FANTASIA_FORNECEDOR }).First(); var TOTAL_PRODUTOS = (from linha in ctx.TB_PEDIDO_COMPRAs where linha.NUMERO_PEDIDO_COMPRA == NUMERO_PEDIDO_COMPRA && linha.CODIGO_FORNECEDOR == CODIGO_FORNECEDOR select linha.VALOR_TOTAL_ITEM_COMPRA).Sum(); var EMAILS_CONTA = (from linha in ctx.TB_EMAIL_CONTAs where IDs_USUARIO.Contains(linha.ID_USUARIO.Value) select new { linha.CONTA_EMAIL, linha.TB_USUARIO.LOGIN_USUARIO }).ToList(); foreach (var item in EMAILS_CONTA) { using (Doran_ERP_Servicos_Email.PopMail mail = new Doran_ERP_Servicos_Email.PopMail(ID_USUARIO, ID_CONTA_EMAIL)) { Dictionary <string, object> dados = new Dictionary <string, object>(); dados.Add("ID_MESSAGE", 0); dados.Add("ID_CONTA_EMAIL", ID_CONTA_EMAIL); dados.Add("FROM_ADDRESS", FROM_ADDRESS); dados.Add("PRIORITY", 1); dados.Add("SUBJECT", string.Concat("Doran ERP - Solicitação de liberação de pedido de compra - [", query.NOME_FANTASIA_FORNECEDOR.Trim(), "]")); StringBuilder _mensagem = new StringBuilder(); _mensagem.Append("O usuário [<b>" + item.LOGIN_USUARIO.Trim() + @"</b>] está solicitando a sua aprovação no pedido de compra nº [<b>" + NUMERO_PEDIDO_COMPRA.ToString() + @"</b>]<br /><br />Valor do pedido: <b>" + TOTAL_PRODUTOS.Value.ToString("c") + "</b>"); dados.Add("BODY", _mensagem.ToString()); dados.Add("RAW_BODY", _mensagem.ToString()); dados.Add("NUMERO_CRM", 0); List <string> TOs = new List <string>(); TOs.Add(item.CONTA_EMAIL.Trim()); List <string> CCs = new List <string>(); List <string> BCCs = new List <string>(); List <string> Attachments = new List <string>(); decimal ID_MESSAGE = mail.Salva_Mensagem_como_Rascunho(dados, TOs, CCs, BCCs, Attachments); mail.Envia_Email_que_estava_gravado_como_rascunho(ID_MESSAGE); } } } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, ID_USUARIO); throw ex; } }