Esempio n. 1
0
 /// <summary>
 /// Metodo para abrir conexion a xbee con el puerto predefinido
 /// </summary>
 private void Conectar()
 {
     try
     {
         using (Generales modGenerales = new Generales())
         {
             var XbeeCoordinador = modGenerales.ObtenerXbeeCoordinador();
             if (XbeeCoordinador == null)
             {
                 if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Error Sql al momento de obtener el xbee coordinador",ETipoEvento.Error,0,""));
             }
             if (XbeeCoordinador != null && XbeeCoordinador.Rows.Count > 0)
             {
                 puerto = XbeeCoordinador.Rows[0]["puertoXbee"].ToString().Trim();
                 velocidadTrasmision = (int)XbeeCoordinador.Rows[0]["velocidadXbee"];
             }
             else
             {
                 if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("No se encontró Xbee Coordinador en base de datos!", ETipoEvento.Error, 0, ""));
                 return;
             }
         }
         if (instancia.Controller == null) instancia.Controller = new XBeeController();
         //Configuro el manejador para escuchar los datos recibidos
         instancia.Controller.DataReceived += DataReceivedXbee;
         //Configuro manejador para escuchar el metodo que descubre los xbee en red
         instancia.Controller.NodeDiscovered += NodeDiscovered_controller;
         instancia.Controller.OpenAsync(puerto, velocidadTrasmision);
         if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se abrió conexión en el puerto " + puerto + " con velocidad de trasmisión " + velocidadTrasmision.ToString() + " ", ETipoEvento.Exitoso, 0, ""));
         //instancia.Controller.Dispose();
     }
     catch (Exception e)
     {
         if (MonitoreoEvent != null) MonitoreoEvent(this, new MonitoreoEventArgs("Se detectó un error:\n" + e.Message, ETipoEvento.Error, 0, ""));
         LocalLogManager.EscribeLog(e.Message,LocalLogManager.TipoImagen.TipoError);
     }
 }
Esempio n. 2
0
 private void SFbwConsultaPorcentajesGasolina_DoWork(object sender, DoWorkEventArgs e)
 {
     DataTable dtProductos;
     using (Generales modGen = new Generales())
     {
         dtProductos = modGen.ObtenerProductosGasolina();
     }
     e.Result = dtProductos;
 }
Esempio n. 3
0
        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();

            //            }
            //        }
            //    }
            //}
        }
Esempio n. 4
0
        /// <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, ""));
            }
            
        }
Esempio n. 5
0
        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, ""));
            }
        }
Esempio n. 6
0
        public ResultadoTrama Fidelizado(string[] data)
        {
            try
            {
                List<string> mensajeTrama = new List<string>();
                string _FechaActual = DateTime.Now.ToString("yyyy-MM-dd H:mm:ss");
                string cara = data[1];
                string serial = data[2];
                string NomApeUsuario = "";
                DataTable dtFidelizado;
                using (ModeloPOS modPOS = new ModeloPOS())
                {
                    dtFidelizado = modPOS.ObtenerFidelizadoPorSerial(serial);
                }

                if (dtFidelizado.Rows.Count == 0) return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "No se encontro fidelizado", "con codigo: " + serial }), "No se encontro fidelizado con serial " + serial);
                if (object.Equals(dtFidelizado.Rows[0]["nomPlan"], DBNull.Value) == true)
                {
                    return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "Usuario no tiene", "parametrizado puntos" }), "Usuario No Tiene Parametrizado Puntos");
                }

                DataTable dtUsuario;
                int idXbee = 0;
                using (Generales modGenerales = new Generales())
                {
                    dtUsuario = modGenerales.ObtenerUsuario(dtFidelizado.Rows[0]["propietario"].ToString());
                    if (dtUsuario.Rows.Count == 0) return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "Usuario no existe o incorrecto" }), "Usuario no existe o incorrecto");
                    NomApeUsuario = dtUsuario.Rows[0]["nomUsuario"].ToString().Trim() + " " + dtUsuario.Rows[0]["apeUsuario"].ToString().Trim();
                    using (ModeloPOS modPOS = new ModeloPOS())
                    {
                        DataTable dtPosicion = modPOS.ObtenerPosicionesPorCara(cara);
                        idXbee = (int)dtPosicion.Rows[0]["idXbee"];
                        if (dtPosicion.Rows.Count == 0) return new ResultadoTrama(false, null, "No se pudo obtener la posición.");
                        var DatosTurno = modPOS.ObtenerTurnoPorPosicionyEstado(dtPosicion.Rows[0]["idPosicion"].ToString());
                        if (DatosTurno.Rows.Count == 0) return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "No hay turno en la cara " + cara }), "No hay turno en la cara " + cara);

                        ResultadoTrama _resultado = new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "Venta al usuario:", NomApeUsuario }), "Venta fidelizado al usuario: " + NomApeUsuario, idXbee, true);

                        return _resultado;
                    }
                }
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message, LocalLogManager.TipoImagen.TipoError);
                return new ResultadoTrama(false, null, e.Message);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Resuelve la peticion de consignacion en efectivo, H:1075227951:1075227951
        /// </summary>
        /// <param name="data">recivo un array de strings con la informacion de la trama recibida
        /// donde 0 es el tipo de petición, 1 es la identificación del usuario, y 2 es el dinero que consigna</param>
        /// <returns></returns>
        public ResultadoTrama ConsignacionEfectivo(string[] data)
        {
            try
            {
                List<string> mensajeTrama = new List<string>();
                string Identificacion = data[1];
                int Dinero = Convert.ToInt32(data[2]);
                string NomApeUsuario = "";
                bool encontroUsuario = false;
                DataTable dtUsuario = null;
                using (Generales modGenerales = new Generales())
                {
                    //Buscar el usuario y validar que sea islero.
                    dtUsuario = modGenerales.ObtenerUsuario(Identificacion);
                    if (dtUsuario != null && dtUsuario.Rows.Count > 0)
                    {
                        if (dtUsuario.Rows[0]["tipoPerfil"].ToString().Trim() == "3")
                        {
                            encontroUsuario = true;
                        }
                    }
                }
                if (encontroUsuario == true)
                {
                    using (ModeloPOS modPOS = new ModeloPOS())
                    {
                        if (modPOS.GuardaConsignacion(Identificacion,Dinero.ToString()) == true) //mando a guardar la consignación en la base de datos
                        {
                            NomApeUsuario = dtUsuario.Rows[0]["nomUsuario"].ToString().Trim() + " " + dtUsuario.Rows[0]["apeUsuario"].ToString().Trim();
                            //Devuelvo trama exitosa
                            mensajeTrama.Add(UtilidadesTramas.CentrarConcatenarMensajeTrama("CONSIGNACION",
                                Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, '-'));
                            mensajeTrama.Add(UtilidadesTramas.CentrarConcatenarMensajeTrama(NomApeUsuario,
                                Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.izquierda, ' '));
                            mensajeTrama.Add(UtilidadesTramas.CentrarConcatenarMensajeTrama(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss"),
                                Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.izquierda, ' '));
                            mensajeTrama.Add(UtilidadesTramas.CentrarConcatenarMensajeTrama("$" + Dinero.ToString(""),
                                Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.izquierda, ' '));
                            mensajeTrama.Add(UtilidadesTramas.CentrarConcatenarMensajeTrama("-",
                                Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, '-'));
                            mensajeTrama.Add(UtilidadesTramas.CentrarConcatenarMensajeTrama(" ",
                                Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, ' '));
                            mensajeTrama.Add(UtilidadesTramas.CentrarConcatenarMensajeTrama(" ",
                                Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, ' '));
                        }
                        else
                        {
                            return new ResultadoTrama(false, null,"No se pudo guardar la consignación en la base de datos");
                        }
                    }

                }
                else
                {
                    //Devuelvo trama que el usuario no es islero
                    return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "Usuario no existe o incorrecto"}), "Usuario no existe o incorrecto para consignación en efectivo");
                }
                return new ResultadoTrama(true, UtilidadesTramas.ConvertirListadoStringaByte(mensajeTrama),"");
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message, LocalLogManager.TipoImagen.TipoError);
                return new ResultadoTrama(false, null,e.Message);
            }
        }
Esempio n. 8
0
        public ResultadoTrama CerrarTurno(string[] data)
        {
            Generales modGenerales = new Generales();
            try
            {
                List<string> mensajeTrama = new List<string>();
                string _FechaActual = DateTime.Now.ToString("yyyy-MM-dd H:mm:ss");
                string identificacion = data[1];
                string cara = data[2];
                int idXbee = 0;
                using (ModeloPOS modPOS = new ModeloPOS())
                {
                    DataTable dtPosicion = modPOS.ObtieneInformacionCara(cara);
                    if (dtPosicion.Rows.Count == 0) return new ResultadoTrama(false, null, "La cara " + cara + "no existe!");
                    DataTable dtUsuario = modGenerales.ObtenerUsuario(identificacion);
                    if (dtUsuario.Rows.Count == 0) return new ResultadoTrama(false, null, "El usuario con código " + identificacion + " no existe!");
                    DataTable dtTurno = modPOS.ObtenerTurnoPorCara(cara);
                    if (dtTurno.Rows.Count == 0) return new ResultadoTrama(false, null, "No hay turno en la cara " + cara);

                    if (dtTurno.Rows[0]["idUsuario"].ToString().Trim() != identificacion) return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "El usuario " + identificacion, "no tiene turno abierto"}), "El usuario " + identificacion + " no tiene turno abierto");

                    string idTurno = dtTurno.Rows[0][0].ToString();
                    string idPosicion = dtPosicion.Rows[0][0].ToString();
                    idXbee = Convert.ToInt32(dtPosicion.Rows[0]["idXbee"]);
                    var resCierre = modPOS.GuardaCerrarTurno(idTurno,idPosicion,cara,_FechaActual);
                    if (resCierre == false) return new ResultadoTrama(false, null, "No se pudo guardar el cierre de turno" + cara);
                    VentasPorTurno datosVenta = modPOS.ObtenerDatosVentaPorIdTurno(idTurno);
                    if (object.Equals(datosVenta,null)) return new ResultadoTrama(false, null, "No se pudo obtener información de las ventas del turno!");
                    return new ResultadoTrama(true, UtilidadesTramas.ConvertirListadoStringaByte(ArmarMensajeVentasTurno(datosVenta)), "",idXbee);
                }
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message, LocalLogManager.TipoImagen.TipoError);
                return new ResultadoTrama(false, null, e.Message);
            }
            finally
            {
                modGenerales.Dispose();
            }
        }
Esempio n. 9
0
        public ResultadoTrama AbrirTurno(string[] data)
        {
            try
            {
                List<string> mensajeTrama = new List<string>();
                string _FechaActual = DateTime.Now.ToString("yyyy-MM-dd H:mm:ss");
                string Identificacion = data[1];
                string cara = data[2];
                string NomApeUsuario = "";
                bool encontroUsuario = false;
                DataTable dtUsuario;
                int idXbee = 0;
                using (Generales modGenerales = new Generales())
                {
                    //Buscar el usuario y validar que sea islero.
                    dtUsuario = modGenerales.ObtenerUsuario(Identificacion);
                    if (dtUsuario != null && dtUsuario.Rows.Count > 0)
                    {
                        if (dtUsuario.Rows[0]["tipoPerfil"].ToString().Trim() == "3")
                        {
                            encontroUsuario = true;
                        }
                    }
                    if (encontroUsuario == true)
                    {
                        NomApeUsuario = dtUsuario.Rows[0]["nomUsuario"].ToString().Trim() + " " + dtUsuario.Rows[0]["apeUsuario"].ToString().Trim();
                        using (ModeloPOS modPOS = new ModeloPOS())
                        {
                            DataTable dtPosicion = modPOS.ObtenerPosicionesPorCara(cara);
                            idXbee = (int)dtPosicion.Rows[0]["idXbee"];

                            if (dtPosicion != null && dtPosicion.Rows.Count > 0)
                            {
                                //Valido si ya hay turno abierto en la cara
                                var DatosTurno = modPOS.ObtenerTurnoPorPosicionyEstado(dtPosicion.Rows[0]["idPosicion"].ToString());
                                if (DatosTurno == null)
                                {
                                    return new ResultadoTrama(false, null, "Error Sql al momento de obbtener los datos del turno");
                                }
                                if (DatosTurno.Rows.Count == 0)
                                {
                                    DataTable dtVentas = modPOS.ObtenerTotalesVentaPorCara(cara);
                                    if (dtVentas != null && dtVentas.Rows.Count > 0)
                                    {
                                        var resultGuardar = modPOS.GuardarAperturaTurno(Identificacion, dtPosicion.Rows[0]["idPosicion"].ToString(), _FechaActual, (int)(dtVentas.Rows[0][0]));
                                        if (resultGuardar >0)
                                        {
                                            mensajeTrama = ArmarMensajeAperturaTurno(resultGuardar.ToString());
                                        }
                                        else
                                        {
                                            return new ResultadoTrama(false, null, "No se pudo guardar la apertura del turno");
                                        }
                                    }
                                    else
                                    {
                                        return new ResultadoTrama(false, null, "No se encontraron totales de ventas para la cara " + cara + ".");
                                    }
                                }
                                else
                                {
                                    return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "Ya se abrio turno","en la cara: " + cara}), "Usuario no existe o incorrecto para consignación en efectivo");
                                }
                            }
                            else
                            {
                                return new ResultadoTrama(false, null, "No se pudo obtener la posición.");
                            }
                        }
                    }
                    else
                    {
                        //Devuelvo trama que el usuario no es islero
                        return new ResultadoTrama(true, AsistenteMensajes.GenerarMensajeAlerta(new string[] { "Usuario no existe o incorrecto" }), "Usuario no existe o incorrecto para apertura de turno");
                    }
                }
                return new ResultadoTrama(true, UtilidadesTramas.ConvertirListadoStringaByte(mensajeTrama), "",idXbee);
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message, LocalLogManager.TipoImagen.TipoError);
                return new ResultadoTrama(false, null, e.Message);
            }
        }