public void ProcesarNotificacion(INotificacion notificacion, INotificador notificador)
        {
            var notificacionEsperaParametro = notificacion as PeticionParametroNotificacion;
            var parametro = notificacionEsperaParametro.ParametroProcesoMessages.First();

            Console.WriteLine("El parametro {0} requiere un valor", parametro.NombreParametro);
            var valorParametro = Console.ReadLine();


            var actualizarValorParametroPeticion = new ActualizarParametroProcesoPeticion
            {
                PlantillaId     = 1,
                ProcesoId       = 1,
                ValorParametros = new List <ParametroProcesoRespuestaMessage>
                {
                    new ParametroProcesoRespuestaMessage
                    {
                        NombreParametro = parametro.NombreParametro,
                        ParametroId     = parametro.ParametroId,
                        Valor           = valorParametro
                    }
                }
            };

            notificador.EnviarPeticion(actualizarValorParametroPeticion);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            NotificacionFabrica fabrica = new NotificacionFabrica();

            INotificacion n1 = fabrica.getNotificacion("Whatsapp");

            n1.Recibido();
            n1.No_Recibido();
            Console.WriteLine("");
            INotificacion n2 = fabrica.getNotificacion("Instagram");

            n2.Recibido();
            n2.No_Recibido();
            Console.WriteLine("");
            INotificacion n3 = fabrica.getNotificacion("Facebook");

            n3.Recibido();
            n3.No_Recibido();
            Console.WriteLine("");
            INotificacion n4 = fabrica.getNotificacion(" ");

            n4.Recibido();
            n4.No_Recibido();

            Console.ReadKey();
        }
        private static void Main(string[] args)
        {
            INotificacion notificacion1 = null;

            /*
             * Se crea esta lista, para ejemplificar que la clase Fabrica notificación
             * será la encargada de la creación de la clase notificación requerida y asi
             * el cliente no se tiene que preocupar por establecer algun parametro en especifico
             * para el envio de la notificación.
             */

            string[] ListaDatos = { "*****@*****.**",
                                    "*****@*****.**",
                                    "www.facebook.com/luismesa",
                                    "Fabio Salazar-310 4509341",
                                    "Santiago Vasquez 310 450 94 12",
                                    "*****@*****.**",
                                    "Pepito perez",
                                    "2562284" };

            foreach (var cuentai in ListaDatos)
            {
                fabricaNotificacion = new FabricaNotificacion(cuentai);
                notificacion1       = fabricaNotificacion.MetodoFabrica();

                if (notificacion1 != null)
                {
                    notificacion1.enviar($"{notificacion1.ToString()} Prueba");
                }
            }
        }
Beispiel #4
0
 void IObservador.Notificar(INotificacion msg)
 {
     if (typeof(INotificacionColeccion).IsAssignableFrom(msg.GetType()))
     {
         ActualizarColeccion((INotificacionColeccion)msg);
     }
     else
     {
         ActualizarPropiedad(msg.ObjetoDatos, msg.Propiedad);
     }
 }
        private void Notificar(INotificacion msg)
        {
            if (msg.ObjetoDatos == null || msg.Propiedad == null)
            {
                return;
            }

            foreach (IObservador observador in _observadores)
            {
                observador.Notificar(msg);
            }
        }
Beispiel #6
0
        public bool Enviar(INotificacion notif)
        {
            qGen.Insert InsertarMensaje = new qGen.Insert("sys_mensajes");
            InsertarMensaje.ColumnValues.AddWithValue("id_remitente", notif.Remitente.Id);
            InsertarMensaje.ColumnValues.AddWithValue("id_destinatario", notif.Destinatario.Id);
            InsertarMensaje.ColumnValues.AddWithValue("fecha", new qGen.SqlExpression("NOW()"));
            InsertarMensaje.ColumnValues.AddWithValue("destino", notif.Destino);
            InsertarMensaje.ColumnValues.AddWithValue("nombre", notif.Nombre);
            InsertarMensaje.ColumnValues.AddWithValue("obs", notif.Obs);
            InsertarMensaje.ColumnValues.AddWithValue("estacion_envia", notif.EstacionOrigen);
            InsertarMensaje.ColumnValues.AddWithValue("estacion_recibe", notif.EstacionDestino);

            try {
                this.Connection.ExecuteNonQuery(InsertarMensaje);
                return(false);
            } catch {
                return(true);
            }
        }
Beispiel #7
0
 public void EnviarNotificacion(INotificacion notificacion)
 {
     _notificaciones.Enqueue(notificacion);
 }
Beispiel #8
0
                public bool Enviar(INotificacion notif)
                {
                        qGen.Insert InsertarMensaje = new qGen.Insert("sys_mensajes");
                        InsertarMensaje.Fields.AddWithValue("id_remitente", notif.Remitente.Id);
                        InsertarMensaje.Fields.AddWithValue("id_destinatario", notif.Destinatario.Id);
                        InsertarMensaje.Fields.AddWithValue("fecha", qGen.SqlFunctions.Now);
                        InsertarMensaje.Fields.AddWithValue("destino", notif.Destino);
                        InsertarMensaje.Fields.AddWithValue("nombre", notif.Nombre);
                        InsertarMensaje.Fields.AddWithValue("obs", notif.Obs);
                        InsertarMensaje.Fields.AddWithValue("estacion_envia", notif.EstacionOrigen);
                        InsertarMensaje.Fields.AddWithValue("estacion_recibe", notif.EstacionDestino);

                        try {
                                this.Connection.Execute(InsertarMensaje);
                                return false;
                        } catch {
                                return true;
                        }
                }