Ejemplo n.º 1
0
 protected void sincronizarCierreCaja(bool enviarCorreo)
 {
     try
     {
         if (this.conexionInternet)
         {
             frm_cargando sincronizar = new frm_cargando(this.cajaActiva.Id, (enviarCorreo)?this.obtenerDatos():null);
             sincronizar.Owner = this;
             sincronizar.ShowDialog();
         }
         else
         {
             if (Mensaje.confirmacion("Caja cerrada satisfactoriamente.\n Desea generar el archivo de cierre?"))
             {
                 if (this.fbd_buscar.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                 {
                     string mensaje = "";
                     //string nuevoNumero = EmpresaTR.obtenerNumerodeCierre(ref mensaje).ToString();
                     Sincronizacion xml       = new Sincronizacion();
                     XmlDocument    documento = xml.generarXmlCierreCaja(this.cajaActiva.Id);
                     documento.Save(this.fbd_buscar.SelectedPath + @"\CierreCaja_" + DateTime.Now.ToShortDateString().Replace("/", "") + "_" + this.cajaActiva.Id + ".xml");
                     Sincronizacion.actualizarEstadoUsb(ref mensaje, this.cajaActiva.Id);
                     Mensaje.informacion("Archivo generado satisfactoriamente.");
                 }
             }
         }
     }
     catch (Exception e)
     {
         Mensaje.error(e.Message);
     }
 }
Ejemplo n.º 2
0
        private void BtnSincronizar_Click(object sender, EventArgs e)

        {
            ProgressDialog     progressBar;
            ColaSincronizacion _cola = new ColaSincronizacion();

            AlertDialog.Builder alert = new AlertDialog.Builder(this);
            alert.SetTitle("Sincronización Manual");
            alert.SetMessage("¿Desea sincronizar los datos manualmente?");
            alert.SetPositiveButton("Sí", (senderAlert, args) =>
            {
                if (Conectividad.IsConnected)
                {
                    progressBar = new ProgressDialog(this);
                    progressBar.SetCancelable(true);
                    progressBar.SetMessage("Sincronizando con Central....");
                    progressBar.SetProgressStyle(ProgressDialogStyle.Spinner);
                    progressBar.Progress = 0;
                    progressBar.Max      = 100;
                    progressBar.Show();

                    new Thread(new ThreadStart(delegate
                    {
                        Sincronizacion _sincro = new Sincronizacion();
                        _sincro.Sincronizar();
                        RunOnUiThread(() =>
                        {
                            progressBar.Dismiss();
                            txtAvisosSinSincronizar.Text = String.Format("Sin sincronizar - {0}", new Database().PendientesDeSincronizar().ToString());
                            Toast.MakeText(this, "Sincronizando", ToastLength.Short).Show();
                        });
                    })).Start();
                }

                else
                {
                    Utilidades.MostrarMensaje(this, Constantes.SinConexion);
                }
            });

            alert.SetNegativeButton("No", (senderAlert, args) =>
            {
                Toast.MakeText(this, "Cancelado!", ToastLength.Short).Show();
            });

            Dialog dialog = alert.Create();

            dialog.Show();
        }
Ejemplo n.º 3
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            if (!Settings._TieneAcceso || !Settings._RecordarAcceso)
            {
                SetContentView(Resource.Layout.Login);
                //Lanzo sincronización
                //StartService(new Android.Content.Intent(this, typeof(Sincronizador.Sincronizador)));

                btnLogin                        = FindViewById <Button>(Resource.Id.button1);
                txtNombreUsuario                = FindViewById <EditText>(Resource.Id.editText1);
                txtPassUsuario                  = FindViewById <EditText>(Resource.Id.editText2);
                swButton_RecordarAcceso         = FindViewById <Switch>(Resource.Id.Recodar_DatosAcceso);
                swButton_RecordarAcceso.Checked = Settings._RecordarAcceso;
                this.Window.AddFlags(Android.Views.WindowManagerFlags.Fullscreen);
                this.Window.AddFlags(Android.Views.WindowManagerFlags.KeepScreenOn);

                btnLogin.Click += BtnLogin_Click;
            }
            else
            {
                if (Conectividad.IsConnected)
                {
                    progressBar = new ProgressDialog(this);
                    progressBar.SetCancelable(true);
                    progressBar.SetMessage("Actualizando Datos ...");
                    progressBar.SetProgressStyle(ProgressDialogStyle.Spinner);
                    progressBar.Progress = 0;
                    progressBar.Max      = 100;
                    progressBar.Show();

                    new Thread(new ThreadStart(delegate
                    {
                        Sincronizacion s = new Sincronizacion();
                        s.Sincronizar();
                        RunOnUiThread(() =>
                        {
                            progressBar.Dismiss();
                            StartActivity(typeof(MenuApp));
                        });
                    })).Start();
                }
                else
                {
                    StartActivity(typeof(MenuApp));
                }
            }
        }
Ejemplo n.º 4
0
        public void IngresaSincronizacion(EntityConnectionStringBuilder connection, Sincronizacion ss)
        {
            var context = new samEntities(connection.ToString());

            context.sincronizacion_MDL(ss.VKORG,
                                       ss.HY_INTERFAZ,
                                       ss.NAME,
                                       ss.SECUENCIA,
                                       ss.ACTIVA,
                                       ss.BBP_TABL,
                                       ss.PERIODO,
                                       ss.SELEC,
                                       ss.SINCRONIZACION,
                                       ss.CARGA_INICIAL);
        }
Ejemplo n.º 5
0
        private void BtnLogin_Click(object sender, System.EventArgs e)
        {
            if (txtNombreUsuario.Text == string.Empty || txtPassUsuario.Text == string.Empty)
            {
                Utilidades.MostrarMensaje(this, Constantes.DatosIncompletos);
            }
            else
            {
                progressBar = new ProgressDialog(this);
                progressBar.SetCancelable(true);
                progressBar.SetMessage("Actualizando Datos ...");
                progressBar.SetProgressStyle(ProgressDialogStyle.Spinner);
                progressBar.Progress = 0;
                progressBar.Max      = 100;
                progressBar.Show();

                new Thread(new ThreadStart(delegate
                {
                    Settings._Usuario = txtNombreUsuario.Text;
                    if (Conectividad.IsConnected)
                    {
                        Sincronizacion s = new Sincronizacion();
                        s.Sincronizar();
                    }
                    RunOnUiThread(() =>
                    {
                        progressBar.Dismiss();
                        if (Login.TieneAcceso(txtNombreUsuario.Text, txtPassUsuario.Text))
                        {
                            Settings._RecordarAcceso = swButton_RecordarAcceso.Checked;
                            Settings._TieneAcceso    = true;
                            StartActivity(typeof(MenuApp));
                        }
                        else
                        {
                            Utilidades.MostrarMensaje(this, Constantes.SinPermiso);
                        }
                    });
                })).Start();
            }
        }
Ejemplo n.º 6
0
        protected void verificarSincronizacionContinua(int idCaja = -1)
        {
            this.backgroundThread = new Thread(
                new ThreadStart(() =>
            {
                string mensaje = "";

                int valor             = (idCaja == -1)?ParametroTR.consultarIntXNombre("sincronizarOculta"):1;
                string mensajeOmitir  = (idCaja == -1)?ParametroTR.ConsultarStringXNombre(ref mensaje, "mensajeOmitir"):"";
                bool sincronizarGuias = ParametroTR.ConsultarBool("guiaRemision");
                if (valor == 1)
                {
                    Sincronizacion sincronizacion = new Sincronizacion();
                    try
                    {
                        bool estado = false;
                        while (estado == false)
                        {
                            ParametroTR.actualizarParametroEntero("sincronizarManual", 0);
                            sincronizacion.setTextoCotrol(this.sba_estado, "Verificado sus cajas pendientes...");
                            List <int> cajas = null;
                            if (idCaja == -1)
                            {
                                cajas = sincronizacion.cajasPendientes();
                            }
                            else
                            {
                                cajas = new List <int>();
                                cajas.Add(idCaja);
                            }
                            estado = true;
                            if (cajas != null)
                            {
                                foreach (int caja in cajas)
                                {
                                    try
                                    {
                                        bool resultado      = sincronizacion.sincronizarPartes(caja, this.sba_estado, mensajeOmitir);
                                        bool resultadoGuias = true;
                                        if (sincronizarGuias)
                                        {
                                            resultadoGuias = sincronizacion.sincronizarPartesGuias(caja, this.sba_estado, mensajeOmitir);
                                        }
                                        estado = estado && resultado && resultadoGuias;
                                    }
                                    catch (Exception e)
                                    {
                                        Mail correo = new Mail();
                                        correo.enviarCorreoError(caja, "Error al tratar de sincronizar:" + e.Message);
                                        estado   = false;
                                        string a = "";
                                    }
                                }
                                sincronizacion.setTextoCotrol(this.sba_estado, (estado) ? "Ventas sincronizadas satisfactoriamente." : "Error al sincronizar ventas, se reintentará nuevamente.");
                            }
                            else
                            {
                                sincronizacion.setTextoCotrol(this.sba_estado, "Sincronización al día.");
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        sincronizacion.setTextoCotrol(this.sba_estado, "No se pudo verificar el estado de sincronización ");
                        Mail correo = new Mail();
                        correo.enviarCorreoError(0, "Error al sincronizar cajas:" + e.Message);
                    }
                    finally
                    {
                        ParametroTR.actualizarParametroEntero("sincronizarManual", 1);
                    }
                }
            }));
            this.backgroundThread.IsBackground = true;
            backgroundThread.Start();
        }
        protected void sincronizarPartesGuias()
        {
            Sincronizacion.actualizarEstadoGuias(idCaja);
            List <int>     cantidad           = Sincronizacion.cantidadGuias(this.idCaja);
            Sincronizacion xml                = new Sincronizacion();
            bool           errorSincronizar   = false;
            bool           sincronizoCorrecto = false;
            string         errores            = "";

            if (cantidad[0] == 0)
            {
                Sincronizacion.actualizarEstadoInternetGuias("C", idCaja);
                if (this.sincronizacionCorrecta)
                {
                    Mensaje.informacion("Ventas sincronizadas satisfactoriamente.");
                }
                else
                {
                    Mensaje.advertencia(this.mensajeError);
                }
                this.cerrarFormulario(DialogResult.OK);
                return;
            }

            for (int i = 0; i < cantidad[2]; i++)
            {
                /* 0->n°facturas
                 * 1->cantidad a sincronizar
                 * 2->n° veces a sincronizar
                 */
                int inicio = ((i * cantidad[1]) + 1);
                int fin    = (inicio + cantidad[1]) - 1;
                if (fin > cantidad[0])
                {
                    fin = cantidad[0];
                }

                this.setTextoEstado("Recopilando Información Guías de Remisión: " + inicio + " a " + fin + " de " + cantidad[0]);
                XmlDocument documento = xml.generarXmlGuias(this.idCaja, inicio - 1, cantidad[1], (i == cantidad[2] - 1 && !errorSincronizar));
                //System.Threading.Thread.Sleep(1000);
                this.setTextoEstado("Subiendo Guías: " + inicio + " a " + fin + " de " + cantidad[0]);
                //documento.Save(@"c:\xml\cierre" + idCaja + "_" + i + ".xml");

                /*SincronizarVentasService servicio = new SincronizarVentasService();
                 * servicio.Timeout = 800000;
                 * System.Net.ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidarCertificado);
                 * sincronizar_ventas parametro = new sincronizar_ventas();
                 * parametro.empresa = Global.idEmpresa;
                 * parametro.xml_ventas = General.scapeCharacters(documento.InnerXml);
                 * sincronizar_ventasResponse respuesta = servicio.sincronizar_ventas(parametro);
                 * string resultado = respuesta.sincronizar_ventasResult;
                 * XmlDocument resultadoXml = new XmlDocument();
                 * resultadoXml.LoadXml(resultado);
                 * XmlNode raiz = resultadoXml.GetElementsByTagName("root")[0];
                 * bool respuestaXml = Convert.ToBoolean(raiz["respuesta"].InnerText);
                 * string errorXml = raiz["error"].InnerText;
                 * if (respuestaXml)
                 * {
                 *  Sincronizacion.actualizarEstadoTempGuias(idCaja, inicio - 1, cantidad[1]);
                 *  sincronizoCorrecto = true;
                 * }
                 * else
                 * {
                 *  errores += errorXml + "\n";
                 *  errorSincronizar = true;
                 * }*/
            }

            if (errorSincronizar && sincronizoCorrecto)
            {
                Sincronizacion.actualizarEstadoGuias(idCaja);
                Sincronizacion.actualizarEstadoInternetGuias("I", idCaja);
                if (this.Visible)
                {
                    string mensajeMostrar = "Guías sincronizadas incompletas.\n" + errores;
                    if (this.sincronizacionCorrecta)
                    {
                        Mensaje.advertencia(mensajeMostrar);
                    }
                    else
                    {
                        Mensaje.advertencia(this.mensajeError + "\n" + mensajeMostrar);
                    }
                    this.cerrarFormulario(DialogResult.Ignore);
                }
                else
                {
                    Mensaje.mostrarNotificacion("Sincronización", "Ventas sincronizadas incompletas.");
                }
                this.enviarCorreoError(idCaja, errores);
            }
            else if (errorSincronizar)
            {
                string mensajeMostrar = "Ocurrio un error al sincronizar las guías: \n" + errores;
                if (this.sincronizacionCorrecta)
                {
                    Mensaje.advertencia(mensajeMostrar);
                }
                else
                {
                    Mensaje.advertencia(this.mensajeError + "\n" + mensajeMostrar);
                }
                if (this.Visible)
                {
                    this.cerrarFormulario(DialogResult.Cancel);
                }
                this.enviarCorreoError(idCaja, errores);
            }
            else if (sincronizoCorrecto)
            {
                Sincronizacion.actualizarEstadoInternetGuias("C", idCaja);
                Sincronizacion.actualizarEstadoGuias(idCaja);
                if (this.Visible)
                {
                    string mensajeMostrar = "Guías sincronizadas satisfactoriamente.";
                    if (this.sincronizacionCorrecta)
                    {
                        Mensaje.informacion("Ventas y " + mensajeMostrar);
                    }
                    else
                    {
                        Mensaje.advertencia(this.mensajeError + "\n" + mensajeMostrar);
                    }
                    this.cerrarFormulario(DialogResult.OK);
                }
                else
                {
                    Mensaje.mostrarNotificacion("Ventas Sincronizadas", "Las ventas han sido sincronizado");
                }
            }
            else
            {
                Mensaje.error("No hubo respuesta del servidor");
                if (this.Visible)
                {
                    this.cerrarFormulario(DialogResult.Cancel);
                }
            }
        }
Ejemplo n.º 8
0
        protected void cambiarEstadoCaja()
        {
            if (validar())
            {
                if (this.btn_accion.Text == "Abrir")
                {
                    Caja   caja = this.llenarDatosApertura();
                    CajaTR tran = new CajaTR(caja);
                    String msn  = "";
                    if (tran.abrirCaja(ref msn))
                    {
                        this.btn_accion.Enabled = false;
                        this.txt_monto.Enabled  = false;
                        this.enviarMailApertura(caja.Id);
                        Mensaje.informacion("La caja ha sido abierta correctamente.");
                        this.Close();
                    }
                    else
                    {
                        Mensaje.advertencia(msn);
                    }
                }
                else if (this.btn_accion.Text == "Cerrar")
                {// cerrar
                    if (!validarCierre())
                    {
                        return;
                    }
                    this.backgroundThread.Join();
                    Caja   caja = llenarDatosCerrar();
                    CajaTR tran = new CajaTR(caja);
                    String msn  = "";

                    int deboSincronizar  = ParametroTR.consultarIntXNombre("sincronizarAlCerrar");
                    int deboEnviarCorreo = ParametroTR.consultarIntXNombre("enviarCorreo");
                    int turnoSincronizar = Sincronizacion.ultimoSincronizado(ref msn);
                    turnoSincronizar++;

                    if (tran.cerrarCaja(ref msn, this.txt_datafast.Text, this.txt_medianet.Text, this.txt_redApoyo.Text))
                    {
                        this.btn_accion.Text = "Imprimir";
                        if (deboSincronizar == 1 && turnoSincronizar == this.cajaActiva.Id)
                        {
                            this.sincronizarCierreCaja((deboEnviarCorreo == 1));
                        }
                        else if (deboEnviarCorreo == 1 && this.conexionInternet)
                        {
                            this.correoCierreCaja();
                        }
                        else
                        {
                            Mensaje.informacion("Caja cerrada satisfactoriamente.");
                        }
                    }
                    else
                    {
                        Mensaje.advertencia(msn);
                    }
                }
                else
                {
                    if (Impresion.IsPrinterOnline(Global.nombreImpresora))
                    {
                        this.imprimirCierreCaja();
                    }
                    else
                    {
                        Mensaje.advertencia("La impresora no se encuentra disponible.");
                    }
                }
            }
        }