コード例 #1
0
        public Boolean Gera_Email(List <HabilEmailCriado> lstMail, List <HabilEmailDestinatario> lstDest, List <HabilEmailAnexo> lstAnexo, ref long longCodigoIndexEmail)
        {
            try
            {
                HabilEmailAnexoDAL        HeAnexoDal = new HabilEmailAnexoDAL();
                HabilEmailDestinatarioDAL HeDestDal  = new HabilEmailDestinatarioDAL();


                foreach (var item in lstMail)
                {
                    Inserir(item, ref longCodigoIndexEmail);

                    foreach (var item2 in lstDest)
                    {
                        item2.CD_INDEX = item.CD_INDEX;
                        HeDestDal.InserirDestinatarios(item2);
                    }

                    foreach (var item3 in lstAnexo)
                    {
                        item3.CD_INDEX = item.CD_INDEX;
                        HeAnexoDal.InserirAnexos(item3);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);

                throw new Exception(ex.Message.ToString());
            }
        }
コード例 #2
0
        public Boolean Grava_ColecaoEmail(HabilEmailCriado lstMail, bool blnEnviaEmail = false)
        {
            try
            {
                HabilEmailAnexoDAL        HeAnexoDal = new HabilEmailAnexoDAL();
                HabilEmailDestinatarioDAL HeDestDal  = new HabilEmailDestinatarioDAL();

                int  intDestinatario      = 0;
                long longCodigoIndexEmail = 0;
                if (lstMail.CD_INDEX == 0)
                {
                    Inserir(lstMail, ref longCodigoIndexEmail);
                }
                else
                {
                    Atualizar(lstMail);
                    HeDestDal.ExcluirDestinatarios(lstMail.CD_INDEX);
                    HeAnexoDal.ExcluirAnexos(lstMail.CD_INDEX);
                }
                foreach (var item2 in lstMail.listaDestinatarios)
                {
                    item2.CD_INDEX              = lstMail.CD_INDEX;
                    item2.TP_DESTINATARIO       = 1;
                    intDestinatario            += 1;
                    item2.CD_EMAIL_DESTINATARIO = intDestinatario;
                    HeDestDal.InserirDestinatarios(item2);
                }

                foreach (var item3 in lstMail.listaDestinatariosComCopia)
                {
                    item3.CD_INDEX              = lstMail.CD_INDEX;
                    item3.TP_DESTINATARIO       = 2;
                    intDestinatario            += 1;
                    item3.CD_EMAIL_DESTINATARIO = intDestinatario;
                    HeDestDal.InserirDestinatarios(item3);
                }

                foreach (var item4 in lstMail.listaDestinatariosComCopiaOculta)
                {
                    item4.CD_INDEX              = lstMail.CD_INDEX;
                    item4.TP_DESTINATARIO       = 3;
                    intDestinatario            += 1;
                    item4.CD_EMAIL_DESTINATARIO = intDestinatario;
                    HeDestDal.InserirDestinatarios(item4);
                }

                foreach (var item5 in lstMail.listaAnexos)
                {
                    item5.CD_INDEX = lstMail.CD_INDEX;
                    HeAnexoDal.InserirAnexos(item5);
                }

                if (blnEnviaEmail)
                {
                    lstMail.CD_SITUACAO = 113; //Envia Imediatamente
                    AtualizaParaEnvio(lstMail);
                }
                return(true);
            }
            catch (Exception ex)
            {
                return(false);

                throw new Exception(ex.Message.ToString());
            }
        }
コード例 #3
0
        public List <HabilEmailCriado> ListarEmails(List <DBTabelaCampos> ListaFiltros)
        {
            List <HabilEmailCriado>   lista         = new List <HabilEmailCriado>();
            HabilEmailDestinatarioDAL listaDestiDAL = new HabilEmailDestinatarioDAL();
            HabilEmailAnexoDAL        listaAnexoDAL = new HabilEmailAnexoDAL();


            try
            {
                AbrirConexao();

                string strSQL   = "Select * from [VW_EMAILS] ";
                string strValor = MontaFiltroIntervalo(ListaFiltros);
                strSQL = strSQL + strValor + " ORDER BY DT_LANCAMENTO DESC ";


                Cmd = new SqlCommand(strSQL, Con);
                Dr  = Cmd.ExecuteReader();


                while (Dr.Read())
                {
                    HabilEmailCriado p = new HabilEmailCriado();

                    foreach (HabilEmailCriado item in lista)
                    {
                        if (item.CD_INDEX == Convert.ToInt64(Dr["CD_INDEX"]))
                        {
                            p.CD_INDEX          = item.CD_INDEX;
                            p.DT_LANCAMENTO     = item.DT_LANCAMENTO;
                            p.DT_ENVIO          = item.DT_ENVIO;
                            p.TX_ASSUNTO        = item.TX_ASSUNTO;
                            p.CD_SITUACAO       = item.CD_SITUACAO;
                            p.CD_USU_REMETENTE  = item.CD_USU_REMETENTE;
                            p.CPL_DESTINATARIOS = item.CPL_DESTINATARIOS;
                            p.CPL_SITUACAO      = item.CPL_SITUACAO;
                            p.TX_CORPO          = item.TX_CORPO;
                            p.NR_TENTA_ENVIO    = item.NR_TENTA_ENVIO;

                            p.listaDestinatarios               = item.listaDestinatarios;
                            p.listaDestinatariosComCopia       = item.listaDestinatariosComCopia;
                            p.listaDestinatariosComCopiaOculta = item.listaDestinatariosComCopiaOculta;
                            p.listaAnexos = item.listaAnexos;

                            p.TX_ERRO = item.TX_ERRO + "";


                            if (p.CPL_DESTINATARIOS.Contains(Convert.ToString(Dr["TX_EMAIL"])) == false)
                            {
                                p.CPL_DESTINATARIOS += "; \n (" + Convert.ToString(Dr["NM_DESTINATARIO"]) + ") " + Convert.ToString(Dr["TX_EMAIL"]);
                            }

                            lista.RemoveAll(x => x.CD_INDEX == item.CD_INDEX);
                            goto GeraAlteracao;
                        }
                    }

                    p.CD_INDEX      = Convert.ToInt64(Dr["CD_INDEX"]);
                    p.DT_LANCAMENTO = Convert.ToDateTime(Dr["DT_LANCAMENTO"]);

                    if (Dr["DT_ENVIO"] != DBNull.Value)
                    {
                        p.DT_ENVIO = Convert.ToDateTime(Dr["DT_ENVIO"]);
                    }

                    if (Dr["NR_TENTA_ENVIO"] != DBNull.Value)
                    {
                        p.NR_TENTA_ENVIO = Convert.ToInt32(Dr["NR_TENTA_ENVIO"]);
                    }

                    p.TX_ERRO = "";
                    if (Dr["TX_ERRO"] != DBNull.Value)
                    {
                        p.TX_ERRO = Convert.ToString(Dr["TX_ERRO"]);
                    }

                    p.TX_CORPO = "";
                    if (Dr["TX_CORPO"] != DBNull.Value)
                    {
                        p.TX_CORPO = Convert.ToString(Dr["TX_CORPO"]);
                    }

                    p.TX_ASSUNTO        = Convert.ToString(Dr["TX_ASSUNTO"]);
                    p.CD_USU_REMETENTE  = Convert.ToInt64(Dr["CD_USU_REMETENTE"]);
                    p.CPL_DESTINATARIOS = " (" + Convert.ToString(Dr["NM_DESTINATARIO"]) + ") " + Convert.ToString(Dr["TX_EMAIL"]);

                    p.CPL_SITUACAO = Convert.ToString(Dr["DS_SITUACAO"]);
                    p.CD_SITUACAO  = Convert.ToInt64(Dr["CD_SITUACAO"]);

                    p.listaDestinatarios               = listaDestiDAL.ListarDestinatarioPara(p.CD_INDEX);
                    p.listaDestinatariosComCopia       = listaDestiDAL.ListarDestinatarioCC(p.CD_INDEX);
                    p.listaDestinatariosComCopiaOculta = listaDestiDAL.ListarDestinatarioCCO(p.CD_INDEX);
                    p.listaAnexos = listaAnexoDAL.ListarAnexos(p.CD_INDEX);

GeraAlteracao:

                    lista.Add(p);
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Todos Emails: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }