Log se actualiza en tiempo real incluyendo errores SQL
Añadido checkbox para borrar o no el log del fichador
This commit is contained in:
parent
f76331f3e7
commit
6fdf59074c
|
@ -1,2 +1,3 @@
|
|||
LectorVerdnatura/bin
|
||||
LectorVerdnatura/obj
|
||||
/.vs/LectorVerdnatura
|
||||
|
|
|
@ -10,6 +10,8 @@ namespace LectorVerdnatura
|
|||
/// <summary>
|
||||
/// Punto de entrada principal para la aplicación.
|
||||
/// </summary>
|
||||
///
|
||||
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
|
|
|
@ -51,6 +51,11 @@ namespace LectorVerdnatura
|
|||
return this.hayconexion;
|
||||
}
|
||||
|
||||
public String GetDBConnectionDescription()
|
||||
{
|
||||
return conn.ConnectionString + " Server: " + conn.DataSource.ToString() + " Database: " + conn.Database.ToString();
|
||||
}
|
||||
|
||||
public Boolean insertarbd(int idemple_lector, String fecha, int warehouseFk) // Esta funcion ya no se debe usar, se inserta directamente la fichada con TODOS los datos.
|
||||
{
|
||||
Boolean retorno = false;
|
||||
|
@ -132,7 +137,7 @@ namespace LectorVerdnatura
|
|||
reader.Read();
|
||||
int interval;
|
||||
DateTime hora = reader.GetDateTime(0);
|
||||
logevent.logeventwritefile("Próxima ejecución a las: " + hora.TimeOfDay.ToString());
|
||||
logevent.logeventwritefile("Próxima descarga de fichajes a las: " + hora.TimeOfDay.ToString());
|
||||
DateTime ahora = System.DateTime.Now;
|
||||
TimeSpan diferencia = hora.Subtract(ahora);
|
||||
interval = (diferencia.Hours * 3600 + diferencia.Minutes * 60 + diferencia.Seconds) * 1000;
|
||||
|
|
|
@ -32,9 +32,9 @@ namespace LectorVerdnatura
|
|||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmPrincipal));
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.RecogerFichajes = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -51,6 +51,7 @@ namespace LectorVerdnatura
|
|||
this.name = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.fichador_ip = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.btnDescargarFichajes = new System.Windows.Forms.Button();
|
||||
this.chkBorrarLogs = new System.Windows.Forms.CheckBox();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
|
@ -100,38 +101,38 @@ namespace LectorVerdnatura
|
|||
//
|
||||
this.dataGrid1.AllowUserToAddRows = false;
|
||||
this.dataGrid1.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle4.NullValue = "Texto";
|
||||
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGrid1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle1.NullValue = "Texto";
|
||||
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGrid1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dataGrid1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGrid1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.Texto});
|
||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGrid1.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGrid1.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dataGrid1.Location = new System.Drawing.Point(12, 142);
|
||||
this.dataGrid1.Name = "dataGrid1";
|
||||
this.dataGrid1.ReadOnly = true;
|
||||
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGrid1.RowHeadersDefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.dataGrid1.Size = new System.Drawing.Size(612, 429);
|
||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGrid1.RowHeadersDefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.dataGrid1.Size = new System.Drawing.Size(841, 441);
|
||||
this.dataGrid1.TabIndex = 0;
|
||||
//
|
||||
// Texto
|
||||
|
@ -154,7 +155,7 @@ namespace LectorVerdnatura
|
|||
//
|
||||
// btnActualizarLog
|
||||
//
|
||||
this.btnActualizarLog.Location = new System.Drawing.Point(486, 109);
|
||||
this.btnActualizarLog.Location = new System.Drawing.Point(486, 72);
|
||||
this.btnActualizarLog.Name = "btnActualizarLog";
|
||||
this.btnActualizarLog.Size = new System.Drawing.Size(138, 27);
|
||||
this.btnActualizarLog.TabIndex = 3;
|
||||
|
@ -209,7 +210,7 @@ namespace LectorVerdnatura
|
|||
//
|
||||
// btnDescargarFichajes
|
||||
//
|
||||
this.btnDescargarFichajes.Location = new System.Drawing.Point(486, 46);
|
||||
this.btnDescargarFichajes.Location = new System.Drawing.Point(486, 42);
|
||||
this.btnDescargarFichajes.Name = "btnDescargarFichajes";
|
||||
this.btnDescargarFichajes.Size = new System.Drawing.Size(138, 28);
|
||||
this.btnDescargarFichajes.TabIndex = 7;
|
||||
|
@ -217,11 +218,24 @@ namespace LectorVerdnatura
|
|||
this.btnDescargarFichajes.UseVisualStyleBackColor = true;
|
||||
this.btnDescargarFichajes.Click += new System.EventHandler(this.btnDescargarFichajes_Click);
|
||||
//
|
||||
// chkBorrarLogs
|
||||
//
|
||||
this.chkBorrarLogs.AutoSize = true;
|
||||
this.chkBorrarLogs.Checked = true;
|
||||
this.chkBorrarLogs.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkBorrarLogs.Location = new System.Drawing.Point(492, 112);
|
||||
this.chkBorrarLogs.Name = "chkBorrarLogs";
|
||||
this.chkBorrarLogs.Size = new System.Drawing.Size(132, 17);
|
||||
this.chkBorrarLogs.TabIndex = 8;
|
||||
this.chkBorrarLogs.Text = "Borrar Logs fichadores";
|
||||
this.chkBorrarLogs.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// frmPrincipal
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(636, 580);
|
||||
this.ClientSize = new System.Drawing.Size(865, 595);
|
||||
this.Controls.Add(this.chkBorrarLogs);
|
||||
this.Controls.Add(this.btnDescargarFichajes);
|
||||
this.Controls.Add(this.lvFichadores);
|
||||
this.Controls.Add(this.label1);
|
||||
|
@ -259,6 +273,7 @@ namespace LectorVerdnatura
|
|||
private System.Windows.Forms.ColumnHeader fichador_ip;
|
||||
private System.Windows.Forms.Button btnDescargarFichajes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn Texto;
|
||||
private System.Windows.Forms.CheckBox chkBorrarLogs;
|
||||
|
||||
public CancelEventHandler contextMenuStrip1_Opening { get; private set; }
|
||||
}
|
||||
|
|
|
@ -35,14 +35,32 @@ namespace LectorVerdnatura
|
|||
lector = new sdklector();
|
||||
this.Text = this.Text + " v. " + Application.ProductVersion.ToString();
|
||||
|
||||
logevent.logeventwritefile(" ===== Aplicacion inicializada ===== En 10 segundos se intentaran descargar los registros de todos los fichadores de la lista...");
|
||||
ActualizarLog();
|
||||
if (Debugger.IsAttached)
|
||||
{
|
||||
logevent.logeventwritefile(" ===== Detectado Debugger.IsAttached: modo pruebas? Desactivamos opcion de borrar logs del fichador!");
|
||||
chkBorrarLogs.Checked = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
logevent.logeventwritefile(" ===== Debugger.IsAttached NO detectado. Se borraran los logs del lector tras la lectura.");
|
||||
chkBorrarLogs.Checked = true;
|
||||
}
|
||||
db = new database();
|
||||
logevent.logeventwritefile("Usando BDD: " + db.GetDBConnectionDescription());
|
||||
|
||||
CargarFichadores();
|
||||
|
||||
timer1.Interval = 10000;
|
||||
timer1.Enabled = true;
|
||||
timer1.Start();
|
||||
//obtengo la siguiente hora que se tiene que ejecutar para obtener los fichajes
|
||||
String HoraActual = DateTime.Now.ToString("HH:mm");
|
||||
timer1.Interval = db.proximotimer(HoraActual);
|
||||
if (db.Gethayconexion()) db.CerrarConexion();
|
||||
|
||||
//logevent.logeventwritefile(" ===== Aplicacion inicializada ===== En 10 segundos se intentaran descargar los registros de todos los fichadores de la lista...");
|
||||
//timer1.Interval = 10000;
|
||||
//timer1.Enabled = true;
|
||||
//timer1.Start();
|
||||
|
||||
ActualizarLog();
|
||||
notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);
|
||||
}
|
||||
|
||||
|
@ -108,13 +126,13 @@ namespace LectorVerdnatura
|
|||
logevent.logeventwritefile("Descargando fichajes...");
|
||||
ActualizarLog();
|
||||
lector.ObtenerFichajes(dataGrid1);
|
||||
if (Debugger.IsAttached)
|
||||
if (chkBorrarLogs.Checked)
|
||||
{
|
||||
logevent.logeventwritefile(" ===== Detectado Debugger.IsAttached, modo pruebas? no borramos los logs del lector!");
|
||||
lector.BorrarLogLector();
|
||||
}
|
||||
else
|
||||
{
|
||||
lector.BorrarLogLector();
|
||||
logevent.logeventwritefile(" ===== Detectado Debugger.IsAttached o casilla Borrar logs Fichadores desactivada: modo pruebas? no borramos los logs del lector!");
|
||||
}
|
||||
lector.ActualizarFechaLector();
|
||||
lector.DesconexionLector();
|
||||
|
|
|
@ -62,7 +62,7 @@ namespace LectorVerdnatura
|
|||
int idwWorkcode = 0;
|
||||
|
||||
int idwErrorCode = 0;
|
||||
|
||||
string nuevoregistro = "";
|
||||
|
||||
if (hayconexion)
|
||||
{
|
||||
|
@ -77,12 +77,7 @@ namespace LectorVerdnatura
|
|||
out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode))
|
||||
{
|
||||
String FechaRegistro = idwYear.ToString() + "-" + String.Format("{0:0#}", idwMonth) + "-" + String.Format("{0:0#}", idwDay) + " " + String.Format("{0:0#}", idwHour) + ":" + String.Format("{0:0#}", idwMinute) + ":" + String.Format("{0:0#}", idwSecond);
|
||||
string nuevoregistro = "Registro --> " + sdwEnrollNumber + " --> WH: " + warehouseFk.ToString() + " --> " + FechaRegistro;
|
||||
logevent.logeventwritefile(nuevoregistro);
|
||||
|
||||
dg.Rows.Add(DateTime.Now.ToString() + " " + nuevoregistro);
|
||||
dg.FirstDisplayedScrollingRowIndex = dg.Rows.Count - 1;
|
||||
dg.Refresh();
|
||||
nuevoregistro = "Registro --> " + sdwEnrollNumber + " --> WH: " + warehouseFk.ToString() + " --> " + FechaRegistro;
|
||||
|
||||
DateTime fecha = DateTime.Parse(FechaRegistro);
|
||||
|
||||
|
@ -108,13 +103,19 @@ namespace LectorVerdnatura
|
|||
{
|
||||
// Ignoramos el error, la base de datos esta preparada para esto.
|
||||
// logevent.logeventwritefile("Error SQL 2601: Registro con clave duplicada. Ignorando!. SQL: " + SqlInsert);
|
||||
nuevoregistro += " Nota: Error SQL 2601: registro duplicado en la BDD. Ignorando...";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logevent.logeventwritefile("error al ejecutar " + SqlInsert);
|
||||
logevent.logeventwritefile("Error: " + ex.ToString());
|
||||
}
|
||||
logevent.logeventwritefile(nuevoregistro);
|
||||
|
||||
// Apaño para actualizar el log en tiempo real
|
||||
dg.Rows.Add(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + " " + nuevoregistro);
|
||||
dg.FirstDisplayedScrollingRowIndex = dg.Rows.Count - 1;
|
||||
dg.Refresh();
|
||||
}
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
|
Reference in New Issue