Ejemplo n.º 1
0
        public int Insertar_NotificacionP(clsDetallePeticionNotificacion ParametrosEntrada, ErrorProcedimientoAlmacenado ParametrosError)
        {
            int resp;

            try
            {
                using (var DB = new TramitesDigitalesEntities())
                {
                    resp = DB.pa_PeticionesWeb_Notificaciones_Insertar_Notificacion(
                        pi_IdPeticion: ParametrosEntrada.IdPeticion,
                        pi_IdNotificacion: ParametrosEntrada.IdNotificacion,
                        pnvc_Remitente: ParametrosEntrada.Remitente,
                        pnvc_Destinatario: ParametrosEntrada.Destinatario,
                        pnvc_ConCopiaA: ParametrosEntrada.ConCopiaA,
                        pnvc_Asunto: ParametrosEntrada.Asunto,
                        pb_EstatusEnvio: ParametrosEntrada.EstatusEnvio,
                        pnvc_ComentariosEnvio: ParametrosEntrada.ComentariosEnvio,
                        pi_errorNumero: ParametrosError.Numero,
                        pnvc_errorMensaje: ParametrosError.Mensaje,
                        pi_errorLinea: ParametrosError.Linea,
                        pnvc_errorProcAlm: ParametrosError.ProcedimientoAlmacenado,
                        pi_errorSeveridad: ParametrosError.Severidad,
                        pi_errorEstado: ParametrosError.Estado
                        );
                }
            }
            catch
            {
                throw;
            }
            return(resp);
        }
        public int Insertar_NotificacionRdn(clsDetallePeticionNotificacion ParametrosEntrada, ErrorProcedimientoAlmacenado ParametrosError)
        {
            Procesos.Modulos.Notificaciones.Notificaciones objNotificacionesP = new Procesos.Modulos.Notificaciones.Notificaciones();
            int resp;

            try
            {
                resp = objNotificacionesP.Insertar_NotificacionP(ParametrosEntrada, ParametrosError);
            }
            catch
            {
                #region Manejo de la excepcion
                throw;
                #endregion
            }
            return(resp);
        }
        public void enviarCorreo(int IdPeticion, string AppPath)
        {
            ParametrosNotificacion       objParametrosNotificacion       = new ParametrosNotificacion();
            ErrorProcedimientoAlmacenado objErrorProcedimientoAlmacenado = new ErrorProcedimientoAlmacenado();
            NotificacionesRdn            objConsultaNotificacionesRdn    = new NotificacionesRdn();
            Boolean RespuestaEnvio = false;

            objParametrosNotificacion.IdPeticion = IdPeticion;
            var Notificaciones = objConsultaNotificacionesRdn.Obtener_NotificacionesRdn(objParametrosNotificacion, objErrorProcedimientoAlmacenado).ToList();

            foreach (pa_PeticionesWeb_Notificaciones_Obtener_Notificaciones_Result notificacion in Notificaciones)
            {
                //Obtiene los datos para el correo
                string        asuntoNotificacion    = obtAsuntoNotificacion(notificacion, AppPath);
                string        contenidoNotificacion = obtContenidoNotificacion(notificacion, AppPath);
                string        destinatario          = string.IsNullOrEmpty(notificacion.Destinatario) ? string.Empty : notificacion.Destinatario.ToString();
                List <string> Adjuntos = new List <string>();
                //Envía el correo
                Correo objCorreo = new Correo();
                string msgError  = string.Empty;
                if (asuntoNotificacion == string.Empty || contenidoNotificacion == string.Empty || destinatario == string.Empty)
                {
                    msgError = "No existe asunto, contenido o destinatario";
                }
                if (msgError == string.Empty)
                {
                    RespuestaEnvio = objCorreo.enviarCorreo(asuntoNotificacion, contenidoNotificacion, true, destinatario, string.Empty, Adjuntos, out msgError);
                }
                //Guarda en la base de datos lo que se envió
                clsDetallePeticionNotificacion objDetalleNotificacion = new clsDetallePeticionNotificacion();
                objDetalleNotificacion.IdPeticion       = IdPeticion;
                objDetalleNotificacion.IdNotificacion   = notificacion.IdNotificacion;
                objDetalleNotificacion.Remitente        = ConfigurationManager.AppSettings["MailAccountSender"].ToString();
                objDetalleNotificacion.Destinatario     = notificacion.Destinatario;
                objDetalleNotificacion.ConCopiaA        = string.Empty;
                objDetalleNotificacion.Asunto           = asuntoNotificacion;
                objDetalleNotificacion.EstatusEnvio     = RespuestaEnvio;
                objDetalleNotificacion.ComentariosEnvio = msgError;
                objDetalleNotificacion.Fecha            = DateTime.Now;
                ErrorProcedimientoAlmacenado objErrProcAlma = new ErrorProcedimientoAlmacenado();
                NotificacionesRdn            objRegistraNotificacionesRdn = new NotificacionesRdn();
                int RespuestaInsert;
                RespuestaInsert = objRegistraNotificacionesRdn.Insertar_NotificacionRdn(objDetalleNotificacion, objErrProcAlma);
            }
        }