예제 #1
0
        public bool InserirEmailNotaCorretagem(EmailNotaCorretagemInfo info)
        {
            try
            {
                SqlConnection sql        = _abrirConexaoSql(_strConnectionStringDefault);
                SqlCommand    sqlCommand = new SqlCommand("prc_nota_corretagem_email_ins", sql);
                sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
                sqlCommand.Parameters.Add(new SqlParameter("@IdCliente", info.IdCliente));
                sqlCommand.Parameters.Add(new SqlParameter("@DtRegistroEmail", info.DtRegistroEmail));
                sqlCommand.Parameters.Add(new SqlParameter("@EmailOrigem", info.EmailOrigem));
                sqlCommand.Parameters.Add(new SqlParameter("@EmailDest", info.EmailDestinatario));
                sqlCommand.Parameters.Add(new SqlParameter("@EmailDestCc", info.EmailDestinatarioCc));
                sqlCommand.Parameters.Add(new SqlParameter("@EmailDestCco", info.EmailDestinatarioCco));
                sqlCommand.Parameters.Add(new SqlParameter("@Assunto", info.Assunto));
                sqlCommand.Parameters.Add(new SqlParameter("@Corpo", info.Body));
                sqlCommand.Parameters.Add(new SqlParameter("@ArquivoNC", info.ArquivoNota));
                sqlCommand.Parameters.Add(new SqlParameter("@Bolsa", info.Bolsa));
                sqlCommand.Parameters.Add(new SqlParameter("@Status", info.Status));
                sqlCommand.Parameters.Add(new SqlParameter("@DescStatus", info.DescStatus));

                int rows = sqlCommand.ExecuteNonQuery();
                _fecharConexao(sql);
                if (rows > 0)
                {
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                logger.Error("Problemas na insercao do Email Nota de Corretagem: " + ex.Message, ex);
                return(false);
            }
        }
예제 #2
0
        private void _processEmail(TOEmail email)
        {
            EmailNotaCorretagemInfo info = new EmailNotaCorretagemInfo();

            try
            {
                // Inserir no BD
                info.ArquivoNota       = email.Msg.FileAttach;
                info.Bolsa             = email.Exchange;
                info.DtRegistroEmail   = DateTime.Now;
                info.EmailDestinatario = email.Msg.To;
                if (!string.IsNullOrEmpty(email.Msg.Cc))
                {
                    info.EmailDestinatarioCc = email.Msg.Cc;
                }
                if (!string.IsNullOrEmpty(email.Msg.Cco))
                {
                    info.EmailDestinatarioCco = email.Msg.Cco;
                }
                info.Assunto     = email.Msg.Subject;
                info.Body        = email.Msg.Body;
                info.EmailOrigem = email.Msg.From;
                info.Status      = email.Status;
                info.DescStatus  = email.DescStatus;

                if (!string.IsNullOrEmpty(email.IdCliente))
                {
                    info.IdCliente = Convert.ToInt32(email.IdCliente);
                }

                if (!email.Status.Equals(StatusInfo.ERRO) && !string.IsNullOrEmpty(email.Msg.To))
                {
                    logger.DebugFormat("===> SendEmail: IDCliente[{0}] Emails:[{1}] Subject:[{2}]", info.IdCliente, email.Msg.To, email.Msg.Subject);
                    SpiderMail.SendEmail(_cfg, email.Msg);
                }
                else
                {
                    logger.DebugFormat("===> SendEmail: Email com ERRO ou destinatario vazio. IDCliente[{0}], Emails:[{1}] Subject:[{2}]", info.IdCliente, email.Msg.To, email.Msg.Subject);
                }
                if (_db != null)
                {
                    _db.InserirEmailNotaCorretagem(info);
                }
            }
            catch (Exception ex)
            {
                logger.Error("Erro no envio dos emails: " + ex.Message, ex);
                info.Status     = StatusInfo.ERRO;
                info.DescStatus = ex.Message;
                if (_db != null)
                {
                    _db.InserirEmailNotaCorretagem(info);
                }
            }
        }