Esempio n. 1
0
        public List <Byte[]> CambiodePrecio(string idXbee)
        {
            try
            {
                List <byte[]> TramasDevolver = new List <byte[]> {
                };
                DataTable dtPrecios;
                using (ModeloDispensador modDIS = new ModeloDispensador())
                {
                    dtPrecios = modDIS.ObtenerProductosDispensador(idXbee);
                }

                int precio1 = 0;
                int precio2 = 0;
                int precio3 = 0;
                int precio4 = 0;

                precio1 = (dtPrecios.Rows.Count > 0) ? getPrecioProducto(dtPrecios.Rows[0][0].ToString()) : 0;
                precio2 = (dtPrecios.Rows.Count > 1) ? getPrecioProducto(dtPrecios.Rows[1][0].ToString()) : 0;
                precio3 = (dtPrecios.Rows.Count > 2) ? getPrecioProducto(dtPrecios.Rows[2][0].ToString()) : 0;
                precio4 = (dtPrecios.Rows.Count > 3) ? getPrecioProducto(dtPrecios.Rows[3][0].ToString()) : 0;
                string TramaDevolver = "MM:" + UtilidadesTramas.ConcatenarCerosIzquiera(precio1.ToString()) + ":" + UtilidadesTramas.ConcatenarCerosIzquiera(precio2.ToString()) + ":" + UtilidadesTramas.ConcatenarCerosIzquiera(precio3.ToString()) + ":" + UtilidadesTramas.ConcatenarCerosIzquiera(precio4.ToString()) + "";

                TramasDevolver.Add(UtilidadesTramas.ObtenerByteDeString(TramaDevolver));

                return(TramasDevolver);
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message + "\n\n" + e.StackTrace, LocalLogManager.TipoImagen.TipoError);
                return(null);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Recibe un array de string para generar una alerta
        /// </summary>
        /// <param name="texto"></param>
        /// <returns></returns>
        public static List <Byte[]> GenerarMensajeAlerta(string[] texto)
        {
            List <Byte[]> newListado = new List <byte[]>()
            {
            };

            newListado.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama("",
                                                                                                               Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, _CARACTERDIVISOR)));
            newListado.Add(UtilidadesTramas.ObtenerByteDeString("?  ** ALERTA **"));
            newListado.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama("",
                                                                                                               Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, _CARACTERDIVISOR)));
            foreach (string _txt in texto)
            {
                newListado.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(_txt,
                                                                                                                   Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, ' ')));
            }
            newListado.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama("",
                                                                                                               Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, _CARACTERDIVISOR)));

            newListado.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(" ",
                                                                                                               Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, ' ')));

            newListado.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(" ",
                                                                                                               Enumeraciones.TipodeMensaje.ConAlerta, Enumeraciones.Direccion.ambos, ' ')));
            return(newListado);
        }
Esempio n. 3
0
        private void INDbwCambioPrecio_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                var dtTramasManuales = claseMain.GetTramasManuales();

                foreach (DataRow _row in dtTramasManuales.Rows)
                {
                    //Obtener Id de xbee y trama
                    string[] LineRecibida = _row[1].ToString().Split('|');

                    var _trama          = LineRecibida[0];
                    var _idXbeeImprimir = LineRecibida[1];

                    NodosXbee nodeXbee = instancia.ListNodes.FindAll(x => x.IdXbee == Convert.ToInt32(_idXbeeImprimir)).FirstOrDefault();
                    if (nodeXbee != null)
                    {
                        string[] arrayTramaRecibida = UtilidadesTramas.ObtieneArrayTrama(_trama);
                        claseMain.ProcesarTrama(arrayTramaRecibida, nodeXbee, true);
                        //NodosXbee nodoImpresion = instancia.ListNodes.Find(item => item.Mac == nodeXbee.MacImpresion);
                        //if (nodoImpresion != null)
                        //{
                        //    claseMain.ProcesarTrama(arrayTramaRecibida, nodoImpresion);
                        //}
                    }
                }


                string cambioPrecio = System.IO.File.ReadAllText(Path.GetDirectoryName(Application.ExecutablePath) + "/cambioPrecio.txt");
                if (cambioPrecio.StartsWith("1"))
                {
                    if (ListadoObjetosCaras != null)
                    {
                        List <int> ListaXbess = new List <int>();
                        foreach (ctrCara _cara in ListadoObjetosCaras)
                        {
                            if (ListaXbess.Find(item => item == _cara.idXbee) == 0)
                            {
                                ListaXbess.Add(_cara.idXbee);
                                claseMain.CambioPrecioDispensador(_cara.idXbee);
                            }
                        }
                        e.Result = true;
                    }
                    else
                    {
                        e.Result = false;
                    }
                }
            }
            catch (Exception ex)
            {
                LocalLogManager.EscribeLog("Ocurrio Un Error Con Cambio de Precio o con tramas POS manuales" + ex.Message, LocalLogManager.TipoImagen.TipoError);
                e.Result = false;
            }
        }
Esempio n. 4
0
        void MonitoreoProceso_Main(object sender, MonitoreoEventArgs e)
        {
            bool   TramaVentaManguera = false;
            bool   Levanta            = false;
            string galones            = "";
            string dinero             = "";

            if (e.Texto == "LEVANTAMANGUERA")
            {
                TramaVentaManguera = true;
                Levanta            = true;
            }
            if (e.Texto.StartsWith("BAJAMANGUERA"))
            {
                string[] arrayMensaje = UtilidadesTramas.ObtieneArrayTrama(e.Texto);
                if (arrayMensaje.Count() == 3)
                {
                    galones = arrayMensaje[1];
                    dinero  = arrayMensaje[2];
                }
                TramaVentaManguera = true;
                Levanta            = false;
            }
            if (TramaVentaManguera == true)
            {
                if (this.InvokeRequired == true)
                {
                    LevantaBajaMangueraEvent d = new LevantaBajaMangueraEvent(LevantaoBajaManguera);
                    this.Invoke(d, e.Cara, e.IdXbee, Levanta, galones, dinero);
                }
                else
                {
                    LevantaoBajaManguera(e.Cara, e.IdXbee, Levanta, galones, dinero);
                }
                return;
            }


            LogPantalla newLog = new LogPantalla();

            newLog.Mensaje     = e.Texto;
            newLog.Fecha       = DateTime.Now;
            newLog.Dispositivo = e.Dispositivo;
            if (this.SFGridLog.InvokeRequired == true)
            {
                AsignarRegistrosRejilla d = new AsignarRegistrosRejilla(RefrescarRejilla);
                this.Invoke(d, newLog);
            }
            else
            {
                RefrescarRejilla(newLog);
            }
        }
Esempio n. 5
0
        public List <Byte[]> SolicitudTotales(string cara)
        {
            try
            {
                List <byte[]> TramasDevolver = new List <byte[]> {
                };

                TramasDevolver.Add(UtilidadesTramas.ObtenerByteDeString("ST" + cara));
                return(TramasDevolver);
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message + "\n\n" + e.StackTrace, LocalLogManager.TipoImagen.TipoError);
                return(null);
            }
        }
Esempio n. 6
0
        public ActionResult ValidacionAutorizarVenta(string cara, string manguera, int idXbee)
        {
            try
            {
                ActionResult resultado = new ActionResult();
                resultado.Estado = false;
                List <byte[]> TramasDevolver = new List <byte[]> {
                };
                resultado.ResultadoDevolver = TramasDevolver;

                //obtener credito pendiente
                var credito = instancia.ListaCreditosPendientes.Find(x => x.cara == cara);
                using (var modPOS = new ModeloPOS())
                {
                    //Validar si el dispensador requiere autorización para vender
                    DataTable dtXbee = modPOS.InformacionXbee(idXbee.ToString());
                    if (dtXbee.Rows.Count > 0)
                    {
                        if (Convert.ToBoolean(dtXbee.Rows[0]["requiereAutVenta"]) == true)
                        {
                            DataTable dtAutorizados = modPOS.EstaTurnoAbiertoPorIdXbee(idXbee.ToString());
                            if (dtAutorizados.Select("numPosicion = " + cara).Length > 0)
                            {
                                var _row = dtAutorizados.Select("numPosicion = " + cara)[0];
                                if (_row["estadoPosicion"].ToString() == "bloqueado")
                                {
                                    resultado.ResultadoDevolver = AsistenteMensajes.GenerarMensajeAlerta(
                                        new string[] { "La cara esta", "bloqueada" });
                                    return(resultado);
                                }
                                if (credito != null && credito.exigeRestriccion == true)
                                {
                                    var dtInfoProducto = modPOS.ObtenerPosicionesPorCarayManguera(cara, manguera);
                                    var limTanqueo     = credito.datos.Rows[0]["limiteTanqueo"];
                                    //Limite de tanqueo por galones
                                    if (limTanqueo != DBNull.Value && limTanqueo.ToString() == "1")
                                    {
                                        var numGalones = credito.datos.Rows[0]["limiteGalones"];
                                        if (numGalones != DBNull.Value)
                                        {
                                            decimal galonesATanquear = Convert.ToDecimal(credito.valor) / Convert.ToDecimal(dtInfoProducto.Rows[0]["precioVentaProducto"]);
                                            if (galonesATanquear > Convert.ToDecimal(numGalones))
                                            {
                                                resultado.ResultadoDevolver = AsistenteMensajes.GenerarMensajeAlerta(
                                                    new string[] { "El numero de galones", "es superior al permitido", "num gal max: " + numGalones.ToString() });
                                                return(resultado);
                                            }
                                        }
                                    }

                                    if (credito.datos.Rows[0]["restriccionProd"] != DBNull.Value &&
                                        Convert.ToBoolean(credito.datos.Rows[0]["restriccionProd"]) == true)
                                    {
                                        if (!modPOS.ConocerSiProductoEsValidoParaTanqueo(dtInfoProducto.Rows[0]["idProducto"].ToString(), credito.datos.Rows[0]["idVehiculo"].ToString()))
                                        {
                                            resultado.ResultadoDevolver = AsistenteMensajes.GenerarMensajeAlerta(
                                                new string[] { "El producto ", dtInfoProducto.Rows[0]["nomProducto"].ToString(), "no es permitido" });
                                            return(resultado);
                                        }
                                    }
                                }
                            }
                            else
                            {
                                resultado.ResultadoDevolver = AsistenteMensajes.GenerarMensajeAlerta(
                                    new string[] { "No hay turno en la cara", cara });
                                return(resultado);
                            }
                        }
                    }
                }

                //Validar si hay credito y si puede tanquear el producto que contiene la maguera
                resultado.Estado = true;
                if (credito != null && credito.exigeRestriccion == true)
                {
                    TramasDevolver.Add(UtilidadesTramas.ObtenerByteDeString("VC:" + cara + ":" + UtilidadesTramas.ConcatenarCerosIzquiera(credito.valor, 7)));
                }
                else
                {
                    TramasDevolver.Add(UtilidadesTramas.ObtenerByteDeString("OK" + cara));
                }

                return(resultado);
            }
            catch (Exception e)
            {
                LocalLogManager.EscribeLog(e.Message + "\n\n" + e.StackTrace, LocalLogManager.TipoImagen.TipoError);
                return(null);
            }
        }
Esempio n. 7
0
        public static List <Byte[]> CocarEncabezadoAListadosDeTramas(List <Byte[]> _listTramas)
        {
            List <Byte[]>     newListTramas = new List <Byte[]>();
            EstructuraTiquete estructuraTiquete;

            using (ModeloPOS modPOS = new ModeloPOS())
            {
                estructuraTiquete = modPOS.ObtenerDefinicionTiquete();
            }
            if (object.Equals(estructuraTiquete, null) == false)
            {
                if (estructuraTiquete.Cab1 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Cab1,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Cab2 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Cab2,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Cab3 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Cab3,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Cab4 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Cab4,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Cab5 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Cab5,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Cab6 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Cab6,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                foreach (byte[] _byte in _listTramas)
                {
                    newListTramas.Add(_byte);
                }
                if (estructuraTiquete.Pie1 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Pie1,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Pie2 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Pie2,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Pie3 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Pie3,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Pie4 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Pie4,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Pie5 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Pie5,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                if (estructuraTiquete.Pie6 != "")
                {
                    newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(estructuraTiquete.Pie6,
                                                                                                                          Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                }
                newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama("",
                                                                                                                      Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, _CARACTERDIVISOR).TrimEnd()));

                newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(" ",
                                                                                                                      Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));

                newListTramas.Add(UtilidadesTramas.ObtenerByteDeString(UtilidadesTramas.CentrarConcatenarMensajeTrama(" ",
                                                                                                                      Enumeraciones.TipodeMensaje.SinAlerta, Enumeraciones.Direccion.ambos, ' ').TrimEnd()));
                return(newListTramas);
            }
            else
            {
                return(_listTramas);
            }
        }