# Gestore Trimestrale - Documentazione Tecnica

## Descrizione Generale
Gestore Trimestrale è un'applicazione Windows (WPF) progettata per la gestione automatizzata di documenti e report per Fideuram. L'applicazione gestisce principalmente l'elaborazione, la generazione e la distribuzione di report PDF e file ZIP su base periodica (giornaliera, settimanale e trimestrale).

## Architettura Database

### Database Principale (C6StampeCentralizzate)
- **Server**: 10.14.152.19
- **Database**: C6StampeCentralizzate
- **Utente**: F701264
- **Configurazione**: Max Pool Size=1000, Load Balance Timeout=1000
- **Scopo**: Gestione delle stampe centralizzate e operazioni principali

### Database Report (SEIReport)
- **Server**: 10.14.152.20\i1
- **Database**: SEIReport
- **Utente**: SEIReport
- **Configurazione**: Max Pool Size=10
- **Scopo**: Gestione specifica dei report

## Funzionalità Principali

### 1. Elaborazione Dati (Processing)
- Gestione dei processi di elaborazione dati
- Sistema di logging e monitoraggio
- Gestione multi-thread delle operazioni
- Contatori e statistiche in tempo reale

### 2. Trasferimento FTP
- Gestione automatizzata dei trasferimenti file
- Supporto per multiple destinazioni FTP
- Integrazione con WinSCP per le operazioni FTP
- Monitoraggio dello stato dei trasferimenti

### 3. Gestione File
- Compressione/decompressione file (utilizzo 7-Zip)
- Naming convention standardizzato per i file:
  - Prefisso: SEI
  - Formati: ZIP, IDX, TXT
- Gestione backup dei flussi in cartelle dedicate

### 4. Stored Procedures Principali
Schema: C6MartPeriodico
- SP_TotaliReportGenerazioneZip
- GESTIONE_SELECT_FTP_DA_INVIARE
- GESTIONE_UPDATE_FTP
- GESTIONE_UPDATE_EMAIL_HOST
- GESTIONE_INSERT_ELABORAZIONE_ZIP
- GESTIONE_UPDATE_ELABORAZIONE_ZIP

## Configurazione

### Tipi di Invio
- **Giornaliero** (G)
- **Settimanale**
- **Trimestrale** (T)

### Gestione ZIP
- Prefisso file: SEI
- Suffissi:
  - T1: 01_A (Report diagnosi con lettera di benvenuto giornalieri)
  - T2: 01_B (Report diagnosi + report monitoraggio + lettera accompagnamento)

### Logging
- Implementazione: NLog
- Monitoraggio in tempo reale delle operazioni
- Intervalli configurabili per aggiornamento statistiche

## Performance e Scalabilità
- Supporto multi-threading configurabile
- Pool di connessioni database ottimizzato
- Gestione timeout e bilanciamento del carico
- Intervalli configurabili per operazioni batch