Пример #1
0
        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);
            }
        }
Пример #2
0
        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&aacute;rio [<b>" + item.LOGIN_USUARIO.Trim() + @"</b>] est&aacute; solicitando a sua aprova&ccedil;&atilde;o 
no pedido de compra n&ordm; [<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;
            }
        }