public P_GF_Correos Get(long pkCodTransac, D_COD_SECC_CORREO d_COD_SECC_CORREO)
        {
            P_GF_Correos resultado = null;
            string       sql       =
                @"SELECT a.*
            FROM P_GF_CORREOS a
            WHERE 
            a.fk_transaccion=:fk_transaccion
            AND a.d_cod_secc_correo=:d_cod_secc_correo";

            OracleCommand cmd = CrearCommand();

            cmd.CommandText = sql;
            cmd.Parameters.Add("fk_transaccion", OracleDbType.Int64, pkCodTransac, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add("d_cod_secc_correo", OracleDbType.Int64, (long)d_COD_SECC_CORREO, System.Data.ParameterDirection.Input);
            cmd.BindByName = true;

            DataTable tabla = EjecutarCmd(cmd);

            if (tabla.Rows.Count > 0)
            {
                resultado = new P_GF_Correos(tabla.Rows[0]);
            }

            return(resultado);
        }
        private void EnviarEmail()
        {
            _resultadoEnvioInforme = ResultadoEnvioEmail.NoEnviado;
            string        strEmail         = string.Empty;
            EnviadorEmail email            = new EnviadorEmail();
            List <string> destinatarios    = new List <string>();
            List <string> archivosAdjuntos = new List <string>();
            string        prefijoArchivo   = Path.Combine(Application.StartupPath, "INFORMEFALLA_" + RegFalla.FormatearCodFalla(_infFalla.PkCodFalla.ToString()) + "_" + CNDC.BLL.Sesion.Instancia.EmpresaActual.Sigla + "_" + InformeFalla.GetTexto(_infFalla.PkDCodTipoinforme));
            DataTable     contactos        = ModeloMgr.Instancia.RContactoMgr.GetRegistros(_infFalla.PkCodFalla, CNDC.BLL.Sesion.Instancia.EmpresaActual.PkCodPersona);

            if (Sesion.Instancia.RolSIN == "CNDC")
            {
                foreach (DataRow r in contactos.Rows)
                {
                    strEmail = r["EMAIL"].ToString();
                    destinatarios.Add(strEmail);
                }
            }
            else
            {
                destinatarios.Add("*****@*****.**");//TODO adicionar como destinatario al CNDC
            }

            destinatarios.Add("*****@*****.**"); //TODO borrar
            //destinatarios.Add("*****@*****.**");//TODO borrar
            destinatarios.Add("*****@*****.**"); //TODO borrar
            if (File.Exists(prefijoArchivo + ".pdf"))
            {
                archivosAdjuntos.Add(prefijoArchivo + ".pdf");
            }
            if (File.Exists(prefijoArchivo + ".xml.gz"))
            {
                archivosAdjuntos.Add(prefijoArchivo + ".xml.gz");
            }
            P_GF_Correos encabezado = ModeloMgr.Instancia.P_GF_CorreosMgr.Get(1, D_COD_SECC_CORREO.ENCABEZADO_INFORME);

            encabezado.Texto = encabezado.Texto.Replace("#NN_FALLA#", RegFalla.FormatearCodFalla(_infFalla.PkCodFalla.ToString()));
            P_GF_Correos cuerpo = ModeloMgr.Instancia.P_GF_CorreosMgr.Get(1, D_COD_SECC_CORREO.CUERPO_INFORME);

            cuerpo.Texto = cuerpo.Texto.Replace("#NN_FALLA#", RegFalla.FormatearCodFalla(_infFalla.PkCodFalla.ToString()));
            try
            {
                email.Enviar(encabezado.Texto, cuerpo.Texto, destinatarios, archivosAdjuntos);
                _resultadoEnvioInforme = ResultadoEnvioEmail.Enviado;
            }
            catch (Exception ex)
            {
                _resultadoEnvioInforme = ResultadoEnvioEmail.EnviadoConError;
                PistaMgr.Instance.Error("SISFALLA", ex);
            }
        }
        public ResultadoEnvioEmail EnviarEmail(string otrosDestinatarios)
        {
            _otrosDestinatarios        = otrosDestinatarios;
            resultadoEnvioNotificacion = ResultadoEnvioEmail.NoEnviado;
            BindingList <Persona> notificados = _regFalla.GetAgentesNotificados();

            agentesNotificar = _agentesInvolucrados;
            if (notificados.Count > 0)
            {
                BindingList <Persona> sinNotificar        = _regFalla.GetAgentesSinNotificar();
                FormAgentesNotificar  frmAgentesNotificar = new FormAgentesNotificar();
                agentesNotificar = frmAgentesNotificar.Visualizar(notificados, sinNotificar);
                if (agentesNotificar == null)
                {
                    return(ResultadoEnvioEmail.EnvioCanceladoPorUs);
                }
            }
            FormEnvioNotif fEnvioNotif = new FormEnvioNotif();
            P_GF_Correos   encabezado  = ModeloMgr.Instancia.P_GF_CorreosMgr.Get(1, D_COD_SECC_CORREO.ENCABEZADO);
            P_GF_Correos   cuerpo      = ModeloMgr.Instancia.P_GF_CorreosMgr.Get(1, D_COD_SECC_CORREO.CUERPO);

            _encabezado = encabezado.Texto.Replace("#NN_FALLA#", RegFalla.FormatearCodFalla(_regFalla.CodFalla.ToString()));
            _cuerpo     = cuerpo.Texto.Replace("#NN_FALLA#", RegFalla.FormatearCodFalla(_regFalla.CodFalla.ToString()));

            if (fEnvioNotif.Visualizar(_encabezado, _cuerpo) == DialogResult.OK)
            {
                PistaMgr.Instance.Info("Sisfalla  ", "Envio ");
                _encabezado = fEnvioNotif.Asunto;
                _cuerpo     = fEnvioNotif.Cuerpo;
                FormTareaAsincrona f = new FormTareaAsincrona();
                PistaMgr.Instance.Info("Envío Notificación de Falla", "Enviando Notificación...");
                f.Visualizar("Envío Notificación de Falla", "Enviando Notificación...", EnviarNotificacion);

                if (resultadoEnvioNotificacion != ResultadoEnvioEmail.NoEnviado)
                {
                    GuardarNotificaciones(D_COD_ESTADO_NOTIFICACION.ENVIADO);
                    RegistrarOperaciones(agentesNotificar);
                }
            }
            else
            {
                resultadoEnvioNotificacion = ResultadoEnvioEmail.EnvioCanceladoPorUs;
            }

            return(resultadoEnvioNotificacion);
        }
        public void Guardar(P_GF_Correos obj)
        {
            OracleCommand cmd = null;
            string        sql = string.Empty;

            if (obj.EsNuevo)
            {
                sql = "INSERT INTO {0} ({1},{2},{3},{4},{5},{6})" +
                      "VALUES(:{1},:{2},:{3},:{4},:{5},:{6})";
            }
            else
            {
                sql = "UPDATE {0} SET " +
                      "{1}=:{1} ," +
                      "{2}=:{2} ," +
                      "{3}=:{3} ," +
                      "{4}=:{4} ," +
                      "{5}=:{5} ," +
                      "{6}=:{6}  WHERE ";
            }

            sql = string.Format(sql, P_GF_Correos.NOMBRE_TABLA, P_GF_Correos.C_PK_COD_CORREO,
                                P_GF_Correos.C_D_COD_SECC_CORREO,
                                P_GF_Correos.C_FK_TRANSACCION,
                                P_GF_Correos.C_D_COD_ESTADO,
                                P_GF_Correos.C_TEXTO,
                                P_GF_Correos.C_SINC_VER);
            cmd             = CrearCommand();
            cmd.CommandText = sql;
            cmd.BindByName  = true;
            cmd.Parameters.Add(P_GF_Correos.C_PK_COD_CORREO, OracleDbType.Int64, obj.PkCodCorreo, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(P_GF_Correos.C_D_COD_SECC_CORREO, OracleDbType.Int64, obj.DCodSeccCorreo, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(P_GF_Correos.C_FK_TRANSACCION, OracleDbType.Int64, obj.FkTransaccion, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(P_GF_Correos.C_D_COD_ESTADO, OracleDbType.Int64, obj.DCodEstado, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(P_GF_Correos.C_TEXTO, OracleDbType.Varchar2, obj.Texto, System.Data.ParameterDirection.Input);
            cmd.Parameters.Add(P_GF_Correos.C_SINC_VER, OracleDbType.Int64, obj.SincVer, System.Data.ParameterDirection.Input);

            if (Actualizar(cmd))
            {
                obj.EsNuevo = false;
            }
        }
Exemple #5
0
        private ResultadoEnvioEmail EnviarEmail(string codPersonasSeparadosPorComa)
        {
            ResultadoEnvioEmail resultadoEnvioNotificacion = ResultadoEnvioEmail.NoEnviado;
            EnviadorEmail       email         = new EnviadorEmail();
            List <string>       destinatarios = ModeloMgr.Instancia.RContactoMgr.GetEmailsDeContactos(codPersonasSeparadosPorComa);

            P_GF_Correos encabezado = ModeloMgr.Instancia.P_GF_CorreosMgr.Get(1, D_COD_SECC_CORREO.ENCABEZADO_REVERSION_NOTIF);

            encabezado.Texto = encabezado.Texto.Replace("#NN_FALLA#", RegFalla.FormatearCodFalla(_regFalla.CodFalla.ToString()));
            P_GF_Correos cuerpo = ModeloMgr.Instancia.P_GF_CorreosMgr.Get(1, D_COD_SECC_CORREO.CUERPO_REVERSION_NOTIF);

            cuerpo.Texto = cuerpo.Texto.Replace("#NN_FALLA#", RegFalla.FormatearCodFalla(_regFalla.CodFalla.ToString()));
            try
            {
                email.Enviar(encabezado.Texto, cuerpo.Texto, destinatarios, new List <string>());
                resultadoEnvioNotificacion = ResultadoEnvioEmail.Enviado;
            }
            catch (Exception ex)
            {
                resultadoEnvioNotificacion = ResultadoEnvioEmail.EnviadoConError;
                PistaMgr.Instance.Error("SISFALLA", ex);
            }
            return(resultadoEnvioNotificacion);
        }