コード例 #1
0
        private void TimerProgramador_Tick(object sender, EventArgs e)
        {
            TimerProgramador.Stop();

            if (this.Visible)
            {
                //Ejecuto tareas del programador
                Lfx.Services.Task ProximaTarea = null;
                // En conexiones lentas, 1 vez por minuto
                // En conexiones rápidas, cada 5 segundos
                if (Lfx.Workspace.Master.SlowLink)
                {
                    if (Lfx.Workspace.Master.DefaultScheduler.LastGetTask == System.DateTime.MinValue || (DateTime.Now - Lfx.Workspace.Master.DefaultScheduler.LastGetTask).Minutes >= 1)
                    {
                        ProximaTarea = Lfx.Workspace.Master.DefaultScheduler.GetNextTask("lazaro");
                    }
                }
                else
                {
                    if (Lfx.Workspace.Master.DefaultScheduler.LastGetTask == System.DateTime.MinValue || (DateTime.Now - Lfx.Workspace.Master.DefaultScheduler.LastGetTask).Seconds >= 5)
                    {
                        ProximaTarea = Lfx.Workspace.Master.DefaultScheduler.GetNextTask("lazaro");
                    }
                }

                if (ProximaTarea != null)
                {
                    // Lanzo la tarea en un nuevo thread
                    System.Threading.ThreadStart ParamInicio = delegate { Ejecutor.Exec(ProximaTarea.Command, ProximaTarea.ComputerName); };
                    new System.Threading.Thread(ParamInicio).Start();
                }

                if (YaSubiEstadisticas == false && Lfx.Workspace.Master.DebugMode == false)
                {
                    YaSubiEstadisticas = true;
                    System.Threading.ThreadStart ParamInicio = delegate { Aplicacion.EnviarEstadisticas(); };
                    System.Threading.Thread      Thr         = new System.Threading.Thread(ParamInicio);
                    Thr.IsBackground = true;
                    Thr.Start();
                }

                if (YaPregunteReiniciar == false && Lfx.Updates.Updater.Master != null && Lfx.Updates.Updater.Master.UpdatesPending() && ActiveForm == this)
                {
                    YaPregunteReiniciar = true;
                    Lui.Forms.YesNoDialog Pregunta = new Lui.Forms.YesNoDialog("Existe una nueva versión de Lázaro. Debe reiniciar la aplicación para instalar la actualización.", "¿Desea reiniciar ahora?");
                    Pregunta.DialogButtons = Lui.Forms.DialogButtons.YesNo;
                    DialogResult Respuesta = Pregunta.ShowDialog();
                    if (Respuesta == DialogResult.OK)
                    {
                        Ejecutor.Exec("REBOOT");
                    }
                }
            }

            TimerProgramador.Start();
        }
コード例 #2
0
 private void PersonaNombre_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     if (TablaActual != null && ItemActual > 0)
     {
         object Res = Ejecutor.Exec("EDITAR " + TablaActual + " " + ItemActual.ToString());
         if (Res != null)
         {
             Aplicacion.FormularioPrincipal.ProcesarObjeto(Res);
         }
     }
 }
コード例 #3
0
 private void AplicarActualizacion()
 {
     this.Close();
     if (Lfx.Updates.Updater.Master != null && Lfx.Updates.Updater.Master.UpdatesPending())
     {
         Lui.Forms.YesNoDialog Pregunta = new Lui.Forms.YesNoDialog("Se descargó una nueva versión de Lázaro. Debe reiniciar la aplicación para instalar la actualización.", "¿Desea reiniciar ahora?");
         Pregunta.DialogButtons = Lui.Forms.DialogButtons.YesNo;
         DialogResult Respuesta = Pregunta.ShowDialog();
         if (Respuesta == DialogResult.OK)
         {
             Ejecutor.Exec("REBOOT");
         }
     }
 }
コード例 #4
0
        /// <summary>
        /// Maneja los eventos Click de los menús
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Menu_Click(object sender, System.EventArgs e)
        {
            MenuItem     ItemClicked = (MenuItem)sender;
            MenuItemInfo ItmInfo     = MenuItemInfoTable[ItemClicked.Tag.ToString()];

            int Hits = Lfx.Workspace.Master.CurrentConfig.ReadLocalSettingInt("MenuStats", ItmInfo.FullPath, 0);

            Lfx.Workspace.Master.CurrentConfig.WriteLocalSetting("MenuStats", ItmInfo.FullPath, Hits + 1);
            if (ItmInfo.Funcion == "MENU Lbl.Cajas.Caja")
            {
                // Nada
            }
            else
            {
                Ejecutor.Exec(ItmInfo.Funcion);
            }
        }
コード例 #5
0
 private void BotonBackup_Click(System.Object sender, System.EventArgs e)
 {
     BotonBackup.Enabled = false;
     Ejecutor.Exec("BACKUP NOW");
 }
コード例 #6
0
        private void FormPrincipal_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.F10:
            case Keys.F12:
                if (e.Shift == false && e.Alt == false && e.Shift == false)
                {
                    e.Handled = true;
                    if (FormInicio == null)
                    {
                        MostrarAyuda("Menú principal", "Utilice las teclas de cursor (flechas) para navegar el menú. Pulse <Intro> (o <Enter>) para ejecutar una opción.");
                        System.Windows.Forms.SendKeys.Send("%S");
                    }
                    else
                    {
                        MostrarAyuda("Pantalla de inicio", "Si no encuentra lo que busca en la pantalla de inicio utilice el menú en la parte superior.");
                        FormInicio.Focus();
                    }
                }
                break;

            case Keys.I:
                if (e.Control == true && e.Alt == true && Lbl.Sys.Config.Actual.UsuarioConectado.TieneAccesoGlobal())
                {
                    e.Handled = true;
                    System.Windows.Forms.OpenFileDialog DialogoArchivo = new System.Windows.Forms.OpenFileDialog();
                    DialogoArchivo.DefaultExt  = "sql";
                    DialogoArchivo.Filter      = "Archivo SQL|*.sql";
                    DialogoArchivo.Multiselect = false;
                    DialogoArchivo.Title       = "Inyectar SQL";
                    if (DialogoArchivo.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        using (System.IO.Stream Archivo = System.IO.File.OpenRead(DialogoArchivo.FileName))
                            using (System.IO.StreamReader Lector = new System.IO.StreamReader(Archivo, System.Text.Encoding.Default))
                                using (Lfx.Data.Connection ConexionActualizar = Lfx.Workspace.Master.GetNewConnection("Inyectar SQL"))
                                    using (IDbTransaction Trans = ConexionActualizar.BeginTransaction()) {
                                        string SqlActualizacion = ConexionActualizar.CustomizeSql(Lector.ReadToEnd());
                                        do
                                        {
                                            string Comando = Lfx.Data.Connection.GetNextCommand(ref SqlActualizacion);
                                            try {
                                                ConexionActualizar.ExecuteSql(Comando);
                                            } catch (Exception ex) {
                                                Lfx.Workspace.Master.RunTime.Toast(Comando + System.Environment.NewLine + System.Environment.NewLine + ex.Message, "Error al inyectar datos");
                                            }
                                        }while (SqlActualizacion.Length > 0);
                                        Trans.Commit();
                                    }
                    }
                }
                break;

            case Keys.B:
                if (e.Control && e.Alt == false && e.Shift == false)
                {
                    e.Handled             = true;
                    BarraInferior.Visible = !BarraInferior.Visible;
                    Lfx.Workspace.Master.CurrentConfig.WriteLocalSetting("Sistema", "Apariencia.BarraInformacion", BarraInferior.Visible ? 1 : 0);
                }
                break;

            case Keys.J:
                if (e.Control == true && e.Alt == false && e.Shift == false)
                {
                    e.Handled = true;
                    string Cmd = Lui.Forms.InputBox.ShowInputBox("Comando");
                    if (Cmd != null && Cmd.Length > 0)
                    {
                        Ejecutor.Exec(Cmd);
                    }
                }
                break;

            case Keys.F:
                if (e.Control == true && e.Alt == false && e.Shift == false)
                {
                    e.Handled = true;
                    Ejecutor.Exec("CREAR Lbl.Comprobantes.Factura");
                }
                break;

            case Keys.T:
                if (e.Control == true && e.Alt == false && e.Shift == false)
                {
                    e.Handled = true;
                    Ejecutor.Exec("CREAR Lbl.Comprobantes.Ticket");
                }
                break;

            case Keys.P:
                if (e.Control == true && e.Alt == false && e.Shift == false)
                {
                    e.Handled = true;
                    Ejecutor.Exec("CREAR Lbl.Comprobantes.Presupuesto");
                }
                break;

            case Keys.R:
                if (e.Control == true && e.Alt == false && e.Shift == false)
                {
                    e.Handled = true;
                    Ejecutor.Exec("CREAR Lbl.Comprobantes.ReciboDeCobro");
                }
                break;

            case Keys.L:
                if (e.Control == true && e.Alt == false && e.Shift == false)
                {
                    e.Handled = true;
                    Ejecutor.Exec("CALC");
                }
                break;
            }
        }