Propósito Principal
Esta aplicación de escritorio (Windows Forms) proporciona una interfaz visual para que los administradores puedan interactuar con el AntiFraudSystem. Permite realizar diagnósticos, verificar la integridad de los datos y gestionar la configuración del sistema de forma sencilla.
Funcionalidades Principales
Interacción con AntiFraudSystem
La aplicación gráfica es un cliente de la librería AntiFraudSystem. No contiene lógica de negocio crítica, sino que actúa como una capa de presentación que invoca los métodos de la librería para realizar las operaciones de backend. La comunicación es directa a través de la referencia al proyecto.
Descripción de la Interfaz
La interfaz de usuario de AntiFraudSystem.GUI está diseñada para ser intuitiva y facilitar la interacción con las funcionalidades del sistema antifraude. A continuación, se detallan los principales elementos y su uso:
Configuración de Conexión
- Campo: `Connection String` (`txtConnectionString`)
Descripción: Aquí debe introducir la cadena de conexión a la base de datos SQL Server donde está instalado el sistema AntiFraudSystem. Esta cadena es esencial para que la aplicación pueda comunicarse con la base de datos.
Uso:
Server=my_server;Database=my_db;User Id=my_user;Password=my_password;
Botones de Acción
- Botón: `Install` (`btnInstall`)
Descripción: Ejecuta el proceso de instalación de los objetos de base de datos (tablas, triggers, funciones) necesarios para el sistema antifraude. Solo debe ejecutarse una vez en una nueva instalación.
- Botón: `Diagnostic` (`btnDiagnostic`)
Descripción: Realiza un diagnóstico de las tablas y la configuración del sistema antifraude en la base de datos para verificar su estado.
- Botón: `Verify` (`btnVerify`)
Descripción: Comprueba la integridad de la cadena de auditoría en la base de datos, asegurando que no ha habido manipulaciones en los registros.
- Botón: `Test` (`btnTest`)
Descripción: Ejecuta un conjunto de pruebas para verificar el correcto funcionamiento de la instalación del sistema antifraude.
Opciones de Exportación y Extracción
- Botón: `Export XML` (`btnExportXml`)
Descripción: Genera ficheros XML individuales con los registros de auditoría para el período seleccionado. Los ficheros se guardan en la carpeta `Output/xml` dentro del directorio de la aplicación.
- Botón: `Extract` (`btnExtract`)
Descripción: Permite extraer los eventos de auditoría de la base de datos. Se puede especificar el formato de salida (CSV, JSON, XML) utilizando el campo `Output Path`.
- Botón: `Export CSV` (`btnExportCsv`)
Descripción: Exporta los eventos de auditoría a un archivo en formato CSV.
- Botón: `Export JSON` (`btnExportJson`)
Descripción: Exporta los eventos de auditoría a un archivo en formato JSON.
- Campo: `Fecha` (`dtpFecha`)
Descripción: Selector de fecha para especificar un día concreto para la exportación o extracción de datos. No debe usarse junto con `Desde` y `Hasta`.
- Campo: `Desde` (`dtpDesde`)
Descripción: Selector de fecha para especificar la fecha de inicio de un rango para la exportación o extracción de datos.
- Campo: `Hasta` (`dtpHasta`)
Descripción: Selector de fecha para especificar la fecha de fin de un rango para la exportación o extracción de datos.
- Campo: `Output Path` (`txtOutputPath`)
Descripción: Ruta completa donde se guardará el archivo de salida para las operaciones de extracción (CSV, JSON, XML). El formato del archivo se determina por la extensión especificada (ej. `C:\informe.csv`).
Opciones Adicionales
- Casilla: `Silent Mode` (`chkSilent`)
Descripción: Si está marcada, la aplicación intentará ejecutar las operaciones sin mostrar mensajes en la consola, ideal para automatización.
- Casilla: `Log Only` (`chkLogOnly`)
Descripción: Si está marcada, la aplicación solo registrará la información en el archivo de log, sin mostrarla en la interfaz de usuario.
Registro de Actividad
- Campo: `Rich Text Box` (`richTextBoxLog`)
Descripción: Muestra un registro detallado de las operaciones realizadas por la aplicación, incluyendo mensajes de éxito, advertencias y errores.