コード例 #1
0
 public void AgregarNodo(NodosXbee _nodo)
 {
     ListNodes.Add(_nodo);
     NodoAgregadoEvent(_nodo);
 }
コード例 #2
0
ファイル: frmAdmin.cs プロジェクト: kevindrums92/softfuel
        void NodoAgregadoEventHandler(NodosXbee e)
        {
            if (e.TipoDispositivo == XbeeUtils.Enumeraciones.TipoDispositivo.Dispensador)
            {
                string cara1 = "";
                string cara2 = "";
                if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
                    XbeeUtils.Enumeraciones.TipoDispositivo.Dispensador).Count == 1)
                {
                    cara1 = "SFPanelCara1";
                    cara2 = "SFPanelCara2";
                }
                if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
                    XbeeUtils.Enumeraciones.TipoDispositivo.Dispensador).Count == 2)
                {
                    cara1 = "SFPanelCara3";
                    cara2 = "SFPanelCara4";
                }
                if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
                    XbeeUtils.Enumeraciones.TipoDispositivo.Dispensador).Count == 3)
                {
                    cara1 = "SFPanelCara5";
                    cara2 = "SFPanelCara6";
                }
                if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
                    XbeeUtils.Enumeraciones.TipoDispositivo.Dispensador).Count == 4)
                {
                    cara1 = "SFPanelCara7";
                    cara2 = "SFPanelCara8";
                }

                Panel PanelCara1 = FindPanel(TsPanelContainerDispensadores, cara1);
                Panel PanelCara2 = FindPanel(TsPanelContainerDispensadores, cara2);

                DataTable dtCaras;
                using (Generales modGEN = new Generales())
                {
                    dtCaras = modGEN.GetTable("select DISTINCT numPosicion FROM posicion WHERE idXbee = " + e.IdXbee);
                }
                if (dtCaras != null && dtCaras.Rows.Count > 1)
                {

                    if (ListadoObjetosCaras == null) ListadoObjetosCaras = new List<ctrCara>();
                    ctrCara newCara1 = new ctrCara();
                    newCara1.NumCara = Convert.ToInt32(dtCaras.Rows[0][0]);
                    newCara1.EstadoCara = EnumEstadoCara.Normal;
                    newCara1.NombreCara = "Cara " + newCara1.NumCara.ToString();
                    newCara1.idXbee = e.IdXbee;
                    newCara1.NombreNodo = e.Nombre;
                    PanelCara1.Controls.Add(newCara1);
                    newCara1.Dock = DockStyle.Fill;
                    ListadoObjetosCaras.Add(newCara1);

                    ctrCara newCara2 = new ctrCara();
                    newCara2.NumCara = Convert.ToInt32(dtCaras.Rows[1][0]);
                    newCara2.EstadoCara = EnumEstadoCara.Normal;
                    newCara2.NombreCara = "Cara " + newCara2.NumCara.ToString();
                    newCara2.idXbee = e.IdXbee;
                    newCara2.NombreNodo = e.Nombre;
                    PanelCara2.Controls.Add(newCara2);
                    newCara2.Dock = DockStyle.Fill;
                    ListadoObjetosCaras.Add(newCara2);
                }
            }
            //else if (e.TipoDispositivo == XbeeUtils.Enumeraciones.TipoDispositivo.moduloPOS)
            //{
            //    string pos = "";
            //    if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
            //        XbeeUtils.Enumeraciones.TipoDispositivo.moduloPOS).Count == 1)
            //    {
            //        pos = "SFPanelPOS1";
            //    }
            //    if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
            //        XbeeUtils.Enumeraciones.TipoDispositivo.moduloPOS).Count == 2)
            //    {
            //        pos = "SFPanelPOS2";
            //    }
            //    if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
            //        XbeeUtils.Enumeraciones.TipoDispositivo.moduloPOS).Count == 3)
            //    {
            //        pos = "SFPanelPOS3";
            //    }
            //    if (instancia.ListNodes.FindAll(item => item.TipoDispositivo ==
            //        XbeeUtils.Enumeraciones.TipoDispositivo.moduloPOS).Count == 4)
            //    {
            //        pos = "SFPanelPOS4";
            //    }
            //    Panel PanelPOS = FindPanel(SFLayoutContainer, pos);
            //    if (PanelPOS != null)
            //    {
            //        using (Generales modGEN = new Generales())
            //        {
            //            DataTable dtPOS = modGEN.GetTable("select nomXbee FROM xbee WHERE idXbee = " + e.IdXbee);
            //            if (dtPOS != null && dtPOS.Rows.Count > 0)
            //            {
            //                ctrPOS newPOS = new ctrPOS();
            //                newPOS.NombrePOS = dtPOS.Rows[0][0].ToString();
            //                newPOS.idXbee = e.IdXbee;
            //                PanelPOS.Controls.Add(newPOS);
            //                newPOS.Dock = DockStyle.Fill;
            //                newPOS.EstableceColor();

            //            }
            //        }
            //    }
            //}
        }
コード例 #3
0
ファイル: Main.cs プロジェクト: kevindrums92/softfuel
        /// <summary>
        /// Evento que escanea la red en busqueda de los xbee para conexión
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void NodeDiscovered_controller(object sender, NodeDiscoveredEventArgs args)
        {
            try
            {
                if (instancia.ListNodes == null)
                {
                    if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Escaneando Red...", ETipoEvento.Exitoso, 0, ""));
                    instancia.ListNodes = new List<NodosXbee>();
                }

                string _macNodoEncontrado = args.Node.Address.LongAddress.Value.ToString("X");
                string _macImpresora = "";
                int _tiempoEspera = 0;
                int _idXbee = 0;
                Enumeraciones.TipoDispositivo _tipDisp;
                using (Generales modGenerales = new Generales())
                {
                    DataTable XbeeConsultado = modGenerales.ObtenerXbeePorMac(_macNodoEncontrado);
                    if (XbeeConsultado != null && XbeeConsultado.Rows.Count > 0)
                    {
                        _macImpresora = (string)XbeeConsultado.Rows[0]["impresoraXbee"];
                        _tiempoEspera = (int)XbeeConsultado.Rows[0]["tiempoEspXbee"];
                        _idXbee = (int)XbeeConsultado.Rows[0]["idXbee"];
                        _tipDisp = (Enumeraciones.TipoDispositivo)XbeeConsultado.Rows[0]["tipoXbee"];
                        NodosXbee newDispositivo = new NodosXbee(args.Node, args.Name, _macNodoEncontrado, _macImpresora, _tiempoEspera, _tipDisp, _idXbee);
                        instancia.AgregarNodo(newDispositivo);
                        if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se conectó el dispositivo: " + args.Name + " MAC:" + _macNodoEncontrado + "", ETipoEvento.Exitoso, 0, ""));
                        if (_tipDisp == Enumeraciones.TipoDispositivo.Dispensador)
                        {
                            ActualizarDatosDispensador(newDispositivo.IdXbee);
                        }
                    }
                    else
                    {
                        if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se encontro dispositivo pero no esta registrado en base de datos: " + args.Name + " MAC: " + _macNodoEncontrado + "", ETipoEvento.Exitoso, 0, ""));
                    }
                }
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message, LocalLogManager.TipoImagen.TipoError);
                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se detectó un error:\n" + e.Message, ETipoEvento.Error, 0, ""));
            }
            
        }
コード例 #4
0
ファイル: Main.cs プロジェクト: kevindrums92/softfuel
        public void ProcesarTrama(string[] arrayTramaRecibida,NodosXbee nodo,bool esSolicitudAplicacion)
        {
            if (arrayTramaRecibida.Count() > 1)
            {
                //if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Llegó un paquete de " + nodo.Nombre + "", ETipoEvento.Exitoso, nodo.IdXbee, ""));
                if (esSolicitudAplicacion == true)
                {//Recibo petición de MOD POS
                    switch (arrayTramaRecibida[0])
                    {
                            //Trama que debe llegar así: CTD:Mensaje que quiero enviar, solo esos 2 parametros
                        case "CTD":
                            var resultCTD = _tramasPOS.GuardarTramaCTD(arrayTramaRecibida,nodo.IdXbee);
                            if (resultCTD.Resultado == true) {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Trama CTD Recibida", ETipoEvento.Exitoso, nodo.IdXbee, "", nodo.Nombre));
                            }else{
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultCTD.Mensaje, ETipoEvento.Error, nodo.IdXbee, "", nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;
                        //Cualquier trama a cualquier dispensador:
                        //La trama tiene que enviarse:CT:loque yo quiera
                        case "CT":
                            nodo.EnviarTrama(UtilidadesTramas.ObtenerByteDeString(arrayTramaRecibida[1]));
                            break;
                        //Trama de placa en venta= PE:1(cara):JEX30B(Placa):20000(KM):3(idXbee)|3(idxbee)
                        //PE:1:JEX30B:20000:3|3
                        case "PE":
                            var resultPE = _tramasPOS.PrepararTiquete(arrayTramaRecibida);
                            if (resultPE.Resultado == true)
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Preparando tiquete", ETipoEvento.Exitoso, nodo.IdXbee, "", nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultPE.Mensaje, ETipoEvento.Error, nodo.IdXbee, "", nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;

                       
                        case "F":
                            var resultFid = _tramasPOS.Fidelizado(arrayTramaRecibida);
                            if (resultFid.Resultado == true)
                            {
                                foreach (Byte[] data in resultFid.TramaResultado)
                                {
                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(resultFid.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                                if (resultFid.Fidelizado_o_Credito == true)
                                {
                                    FidelizadoCreditoPendiente _newFid = new FidelizadoCreditoPendiente();
                                    _newFid.cara = arrayTramaRecibida[1];
                                    _newFid.serial = arrayTramaRecibida[2];
                                    _newFid.tipoSolicitud = ETipoSolicitudSerial.Fidelizado;
                                    instancia.ListaFidelizadosCreditosPendientes.Add(_newFid);
                                    if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Preparando Fidelizado en cara " + _newFid.cara, ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                                }
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultFid.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;
                        ///Petición Consignación en efectivo
                        case "H":
                            var result = _tramasPOS.ConsignacionEfectivo(arrayTramaRecibida);
                            if (result.Resultado == true)
                            {
                                foreach (Byte[] data in result.TramaResultado)
                                {
                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(result.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(result.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;

                            //Petición abrir turno
                        case "T":
                            var resultAbrirTurno = _tramasPOS.AbrirTurno(arrayTramaRecibida);
                            if (resultAbrirTurno.Resultado == true)
                            {
                                foreach (Byte[] data in resultAbrirTurno.TramaResultado)
                                {

                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(resultAbrirTurno.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultAbrirTurno.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            if (resultAbrirTurno.IdXbee > 0) ActualizarDatosDispensador(resultAbrirTurno.IdXbee);
                            
                            _tramasPOS.Dispose();
                            break;

                            //Peticion de guardar venta canasta
                        case "P":
                            var resultVentaCanasta = _tramasPOS.VentaCanasta(arrayTramaRecibida);
                            if (resultVentaCanasta.Resultado == true)
                            {
                                foreach (Byte[] data in resultVentaCanasta.TramaResultado)
                                {
                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(resultVentaCanasta.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultVentaCanasta.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;
                            //Cerrar Turno
                        case "E":
                            var resultCerrarTurno = _tramasPOS.CerrarTurno(arrayTramaRecibida);
                            if (resultCerrarTurno.Resultado == true)
                            {
                                foreach (Byte[] data in resultCerrarTurno.TramaResultado)
                                {
                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(resultCerrarTurno.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultCerrarTurno.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            if (resultCerrarTurno.IdXbee > 0) ActualizarDatosDispensador(resultCerrarTurno.IdXbee);
                            _tramasPOS.Dispose();
                            break;
                            //Consecutivo de cerrar Turno
                        case "M":
                            var resultConsecutivoTurno = _tramasPOS.ConsecutivoCierre_AperturaTurno(arrayTramaRecibida);
                            if (resultConsecutivoTurno.Resultado == true)
                            {
                                foreach (Byte[] data in resultConsecutivoTurno.TramaResultado)
                                {
                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(resultConsecutivoTurno.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultConsecutivoTurno.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;

                            //Imprimir Ultima venta
                        case "I":
                            var resultUltimaVenta = _tramasPOS.UltimaVenta(arrayTramaRecibida);
                            if (resultUltimaVenta.Resultado == true)
                            {
                                foreach (Byte[] data in AsistenteMensajes.CocarEncabezadoAListadosDeTramas(resultUltimaVenta.TramaResultado))
                                {
                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(resultUltimaVenta.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultUltimaVenta.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;

                        case "N":
                            var resultUltimaVentaConsecutivo = _tramasPOS.ConsecutivoUltimaVenta(arrayTramaRecibida);
                            if (resultUltimaVentaConsecutivo.Resultado == true)
                            {
                                foreach (Byte[] data in AsistenteMensajes.CocarEncabezadoAListadosDeTramas(resultUltimaVentaConsecutivo.TramaResultado))
                                {
                                    nodo.EnviarTrama(data);
                                }
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(UtilidadesTramas.MensajeQueEnvióTrama(resultUltimaVentaConsecutivo.TramaResultado), ETipoEvento.Exitoso, nodo.IdXbee, "",nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultUltimaVentaConsecutivo.Mensaje, ETipoEvento.Error, nodo.IdXbee, "",nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;

                        default:
                            if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Trama sin objetivo", ETipoEvento.Exitoso, 0, "",nodo.Nombre));
                            break;
                    }
                }
                else 
                {//recibo tramas de dispesadores
                    switch (arrayTramaRecibida[0])
                    {
                        //Trama que debe llegar así: CTD:Mensaje que quiero enviar, solo esos 2 parametros
                        case "CTD":
                            var resultCTD = _tramasPOS.GuardarTramaCTD(arrayTramaRecibida, nodo.IdXbee);
                            if (resultCTD.Resultado == true)
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Trama CTD Recibida", ETipoEvento.Exitoso, nodo.IdXbee, "", nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultCTD.Mensaje, ETipoEvento.Error, nodo.IdXbee, "", nodo.Nombre));
                            }
                            _tramasPOS.Dispose();
                            break;
                            //Abrir Venta
                        case "E":
                            string cara = arrayTramaRecibida[1].ToString();
                            if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("LEVANTAMANGUERA",ETipoEvento.Exitoso,nodo.IdXbee,cara));
                            break;
                            //Totales de venta
                        case "ET":
                            var resultEnvioTotales = _tramaDIS.EnvioTotales(arrayTramaRecibida);
                            if (resultEnvioTotales.Resultado == true)
                            {
                                string caraProceso = arrayTramaRecibida[1];
                                if(instancia.ListaTiquetesPorImprimir != null)
                                {
                                    //verificamos si hay tiquetes pendientes de immprimir
                                    var TiquetePendiente = instancia.ListaTiquetesPorImprimir.Find(s => s.cara == caraProceso);
                                    if (TiquetePendiente != null)
                                    {
                                        NodosXbee nodoImpresion = instancia.ListNodes.Find(item => item.IdXbee == TiquetePendiente.idXbeeImprimir);
                                        string[] _trama = { "I", caraProceso, TiquetePendiente.placa, TiquetePendiente.km };
                                        ProcesarTrama(_trama, nodoImpresion, true);
                                        instancia.ListaTiquetesPorImprimir.Remove(TiquetePendiente);
                                    }

                                   
                                }

                                //si es venta de credito imprimo tiquete
                                if (resultEnvioTotales.ImprimeTiquete == 1)
                                {
                                    string[] _trama = { "I", caraProceso, "", "" };
                                    ProcesarTrama(_trama, nodo, true);
                                    ProcesarTrama(_trama, nodo, true);
                                }

                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se guardó ventas totales en cara " + arrayTramaRecibida[1], ETipoEvento.Exitoso, nodo.IdXbee, arrayTramaRecibida[1],nodo.Nombre));
                            }
                            else
                            {
                                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs(resultEnvioTotales.Mensaje, ETipoEvento.Exitoso, nodo.IdXbee, arrayTramaRecibida[1],nodo.Nombre));
                            }
                            if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("BAJAMANGUERA:" + resultEnvioTotales.VentaGalones + ":" + resultEnvioTotales.VentaDinero, ETipoEvento.Exitoso, nodo.IdXbee, arrayTramaRecibida[1]));
                            _tramaDIS.Dispose();
                            break;

                        default:
                            if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Trama sin objetivo", ETipoEvento.Exitoso, 0, "",nodo.Nombre));
                            break;
                    }
                }
            }
        }
コード例 #5
0
ファイル: Main.cs プロジェクト: kevindrums92/softfuel
        public async void EscanearRed()
        {
            try
            {
                if (instancia.ListNodes == null)
                {
                    if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Escaneando Red...", ETipoEvento.Exitoso, 0, ""));
                    instancia.ListNodes = new List<NodosXbee>();
                }
                string _macNodoEncontrado;
                string _macImpresora = "";
                int _tiempoEspera = 0;
                int _idXbee = 0;
                Enumeraciones.TipoDispositivo _tipDisp;
                DataTable dtXbees;
                using (Generales modGEN = new Generales())
                {
                    dtXbees = modGEN.ObtenerTodosLosXbee();
                }
                foreach (DataRow _row in dtXbees.Rows)
                {
                    _macNodoEncontrado = (string)_row["macXbee"];
                    _macImpresora = (string)_row["impresoraXbee"];
                    _tiempoEspera = (int)_row["tiempoEspXbee"];
                    _idXbee = (int)_row["idXbee"];
                    _tipDisp = (Enumeraciones.TipoDispositivo)_row["tipoXbee"];
                    NodosXbee newDispositivo = new NodosXbee(null, (string)_row["nomXbee"].ToString(), _macNodoEncontrado, _macImpresora, _tiempoEspera, _tipDisp, _idXbee);

                    //Buscar nodo en red
                    ulong _ulong = Convert.ToUInt64(_row["macXbee"].ToString(), 16);
                    NodeAddress Address = new NodeAddress(new LongAddress(_ulong));
                    XBeeNode nodoXbee = null;
                    nodoXbee = await instancia.Controller.GetRemoteAsync(Address);
                    if (nodoXbee != null)
                    {
                        newDispositivo.Nodo = nodoXbee;
                        if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se conectó el dispositivo: " + newDispositivo.Nombre + " MAC:" + _macNodoEncontrado + "", ETipoEvento.Exitoso, newDispositivo.IdXbee, ""));
                        if (_tipDisp == Enumeraciones.TipoDispositivo.Dispensador)
                        {
                            ActualizarDatosDispensador(newDispositivo.IdXbee);
                        }
                    }
                    instancia.AgregarNodo(newDispositivo);
                }
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message, LocalLogManager.TipoImagen.TipoError);
                if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se detectó un error:\n" + e.Message, ETipoEvento.Error, 0, ""));
            }
        }
コード例 #6
0
 public void AgregarNodo(NodosXbee _nodo)
 {
     ListNodes.Add(_nodo);
     NodoAgregadoEvent(_nodo);
 }