TP_SEI_Project/arm_DataSetS174.md

94 lines
3.2 KiB
Markdown

# Analisi DataSetS174
## Problema Riscontrato
Il file `DataSetS174.xsd` contiene una definizione di dataset che corrisponde a `DataSetS173`. Questo causa errori di compilazione dovuti a duplicazione di codice, in quanto Visual Studio genera lo stesso codice due volte.
## Dettagli Tecnici
- File coinvolti:
- `DataSetS174.xsd` - Contiene identificatori di `DataSetS173`
- `DataSetS174.Designer.cs` - Contiene codice generato duplicato
- `DataSetS173.xsd` - File originale
- `DataSetS173.Designer.cs` - File originale
## Causa Probabile
La situazione sembra essere il risultato di un tentativo incompleto di creare un nuovo DataSet (S174) partendo da S173 come template:
1. È stato copiato il file S173.xsd rinominandolo in S174.xsd
2. Non sono stati modificati gli identificatori interni nel file:
- `id="DataSetS173"`
- `Generator_DataSetName="DataSetS173"`
- Altri riferimenti a S173
3. Il file è stato committato in questo stato incompleto
## Possibili Soluzioni
1. **Rimozione di S174**
- Rimuovere tutti i file relativi a S174 se il dataset non è effettivamente necessario
- Files da rimuovere:
- DataSetS174.xsd
- DataSetS174.Designer.cs
- DataSetS174.xsc
- DataSetS174.xss
2. **Correzione di S174**
- Se serve effettivamente un nuovo DataSet S174:
1. Modificare tutti gli identificatori interni da S173 a S174
2. Aggiornare eventuali riferimenti nelle tabelle e nelle colonne
3. Rigenerare il codice del Designer
## Impatto
La risoluzione di questo problema eliminerà gli errori di compilazione:
- Attributi duplicati (CS0579)
- Membri duplicati (CS0102)
- Definizioni duplicate (CS0111)
## Note
## Analisi Estesa
L'analisi è stata estesa ad altri DataSet del progetto, rivelando problemi simili:
1. **DataSetS175.xsd**:
- Usato per i dettagli dei prodotti protetti Blue/White
- Aveva lo stesso problema di S174: conteneva riferimenti a S173
- È stato corretto aggiornando tutti i riferimenti da S173 a S175
2. **DataSetS177.xsd**:
- Usato per il profilo di rischio e adeguatezza MIFID2
- Conteneva riferimenti al namespace di S151
- È stato corretto aggiornando il namespace da S151 a S177
3. **DataSetS172.xsd** e **DataSetS172Bis.xsd**:
- Usati per la piramide tutela del Capitale protetto
- Entrambi usavano il namespace di S133
- Sono due versioni dello stesso DataSet per gestire diversi tipi di prodotti (Italfund e Fonditalia)
- Sono stati corretti aggiornando il namespace da S133 a S172
### Soluzione Applicata
Per ogni DataSet problematico:
1. Sono stati corretti i riferimenti nei file .xsd
2. È stato rigenerato il codice Designer.cs usando "Esegui strumento personalizzato" in Visual Studio
### Pattern Identificato
È emerso un pattern comune:
1. I DataSet venivano spesso creati copiando file esistenti
2. Durante la copia, non sempre venivano aggiornati tutti i riferimenti interni
3. Questo causava problemi di namespace e duplicazione del codice generato
### Raccomandazioni
1. Quando si crea un nuovo DataSet, usare il template di Visual Studio invece di copiare file esistenti
2. Se si deve copiare un DataSet esistente, verificare sempre di aggiornare:
- L'attributo `id` dello schema
- Il `targetNamespace` e tutti i riferimenti `xmlns`