Exemple #1
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);
            }
        }
Exemple #2
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();
            }
        }
Exemple #3
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);
            }
        }
Exemple #4
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);
            }
        }