Refactoring Repository: Decomposizione MpSpecController - STATO COMPLETO
Riepilogo
| Progetto |
Build |
Errori |
| MP.Data |
OK |
0 |
| MP.SPEC |
OK |
0 |
Repository Creati (8 nuovi)
| # |
Repository |
Interfaccia |
Metodi |
DbContext |
| 1 |
Anag |
IAnagRepository |
26 |
MoonProContext |
| 2 |
Production |
IProductionRepository |
32 |
MoonProContext |
| 3 |
Dossier |
IDossierRepository |
6 |
MoonPro_FluxContext |
| 4 |
FluxLog |
IFluxLogRepository |
3 |
MoonPro_FluxContext |
| 5 |
System |
ISystemRepository |
7 |
MoonProContext + MoonProAdminContext |
| 6 |
MpVoc |
IMpVocRepository |
3 |
MoonPro_VocContext |
| 7 |
MpMon |
IMpMonRepository |
4 |
MoonProContext |
| 8 |
MpLand |
IMpLandRepository |
6 |
MoonProContext |
Sostituzioni dbController Completate
| File Originale |
Sostituito con |
Chiamate |
Stato |
| MpDataService.cs |
5 repository (Anag, System, Dossier, FluxLog, Production) |
~90 |
Completato |
| TranslateSrv.cs |
IMpVocRepository |
7 |
Completato |
| StatusData.cs |
IMpMonRepository |
10 |
Completato |
| LandDataService.cs |
IMpLandRepository |
9 |
Completato |
| OrderDataSrv.cs |
System + Production |
2 |
Completato |
| ListSelectDataSrv.cs |
System + Production |
4 |
Completato |
Architettura DI (DataServiceCollectionExtensions.cs)
File Modificati
MP.Data/DataServiceCollectionExtensions.cs (+10/-1)
MP.Data/Services/LandDataService.cs (+10/-10)
MP.Data/Services/MonDataFeeder.cs (+1/-1)
MP.Data/Services/StatusData.cs (+12/-12)
MP.Data/Services/TabDataFeeder.cs (+1/-1)
MP.Data/Services/TranslateSrv.cs (+13/-13)
MP.SPEC/Data/MpDataService.cs (+1/-3)
File Nuovi (6)
MP.Data/Repository/MpLand/IMpLandRepository.cs
MP.Data/Repository/MpLand/MpLandRepository.cs
MP.Data/Repository/MpMon/IMpMonRepository.cs
MP.Data/Repository/MpMon/MpMonRepository.cs
MP.Data/Repository/MpVoc/IMpVocRepository.cs
MP.Data/Repository/MpVoc/MpVocRepository.cs
Verifiche
- Nessun riferimento a
dbController.XXX() nei file di servizio
ArticleWithDossierAsync esportato correttamente (rimossi #if false)
VocabolarioGetLang reso sincrono (firma originale sincrona)
tryLoadIobTags in StatusData usa GetAwaiter().GetResult() (contesto sync)
InitDict in TranslateSrv usa GetAwaiter().GetResult() (contesto sync)
MpSpecRepository (MpSpecController)
I metodi原价 sono ancora visibili nel file ma:
- Non sono usati dai layer superiori (tutti migrati ai repository)
- Possono essere spostati a
#if false come ultima fase di pulizia
- Rimangono come fallback documentato