extracted objects

This commit is contained in:
2025-12-17 13:02:12 +01:00
commit 7dd4ea08e1
195 changed files with 70591 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
# ENUM_TABLE_OBJECT
## Definizione
```sql
TYPE "ENUM_TABLE_OBJECT" AS OBJECT (
ID NUMBER,
RESULT VARCHAR2(4000)
);```

View File

@@ -0,0 +1,7 @@
# ENUM_TABLE_TYPE
## Definizione
```sql
TYPE "ENUM_TABLE_TYPE" AS TABLE OF ENUM_TABLE_OBJECT;
```

134
docs/types/README.md Normal file
View File

@@ -0,0 +1,134 @@
# Tipi Custom Database
Questa cartella contiene la documentazione di tutti i 10 tipi custom del database (esclusi i tipi PLJSON).
## Tipi per Funzioni Pipelined
Questi tipi sono utilizzati dalle funzioni che ritornano tabelle (pipelined functions).
### F_GET_OSPITI
| Tipo | Descrizione |
|------|-------------|
| [T_DET_OSPITI_ROW](T_DET_OSPITI_ROW.md) | Tipo OBJECT per singola riga |
| [T_DET_OSPITI_TAB](T_DET_OSPITI_TAB.md) | Tipo TABLE OF T_DET_OSPITI_ROW |
```sql
-- Struttura T_DET_OSPITI_ROW
CREATE TYPE T_DET_OSPITI_ROW AS OBJECT (
ID_EVENTO NUMBER,
TOT_ADULTI NUMBER,
TOT_KINDER NUMBER,
TOT_BABY NUMBER,
TOT_STAFF NUMBER,
TOT_INVITATI NUMBER,
NOTE_ADULTI VARCHAR2(1000),
NOTE_KINDER VARCHAR2(1000),
NOTE_BABY VARCHAR2(1000),
NOTE_STAFF VARCHAR2(1000)
);
-- Struttura T_DET_OSPITI_TAB
CREATE TYPE T_DET_OSPITI_TAB AS TABLE OF T_DET_OSPITI_ROW;
```
### F_REP_ALLESTIMENTI
| Tipo | Descrizione |
|------|-------------|
| [T_REP_ALLESTIMENTI_ROW](T_REP_ALLESTIMENTI_ROW.md) | Tipo OBJECT per singola riga |
| [T_REP_ALLESTIMENTI_TAB](T_REP_ALLESTIMENTI_TAB.md) | Tipo TABLE OF T_REP_ALLESTIMENTI_ROW |
### F_REP_CUCINA
| Tipo | Descrizione |
|------|-------------|
| [T_REP_CUCINA_ROW](T_REP_CUCINA_ROW.md) | Tipo OBJECT per singola riga |
| [T_REP_CUCINA_TAB](T_REP_CUCINA_TAB.md) | Tipo TABLE OF T_REP_CUCINA_ROW |
## Tipi Utility
| Tipo | Descrizione |
|------|-------------|
| [STRING_LIST](STRING_LIST.md) | Tipo TABLE OF VARCHAR2 per liste stringhe |
| [ENUM_TABLE_OBJECT](ENUM_TABLE_OBJECT.md) | Tipo OBJECT per STRING_TO_TABLE_ENUM |
| [ENUM_TABLE_TYPE](ENUM_TABLE_TYPE.md) | Tipo TABLE OF ENUM_TABLE_OBJECT |
| [XLIB_VC2_ARRAY_T](XLIB_VC2_ARRAY_T.md) | Array di VARCHAR2 per XLIB |
## Utilizzo in Query
```sql
-- Esempio uso F_GET_OSPITI
SELECT * FROM TABLE(F_GET_OSPITI(123));
-- Esempio uso STRING_TO_TABLE_ENUM
SELECT * FROM TABLE(STRING_TO_TABLE_ENUM('A:B:C', 0, ':'));
```
## Migrazione .NET
In .NET i tipi Oracle pipelined vengono sostituiti con classi DTO e IEnumerable/IAsyncEnumerable.
### Esempio T_DET_OSPITI_ROW → DTO
```csharp
public class DettaglioOspitiDto
{
public int IdEvento { get; set; }
public int TotAdulti { get; set; }
public int TotKinder { get; set; }
public int TotBaby { get; set; }
public int TotStaff { get; set; }
public int TotInvitati { get; set; }
public string NoteAdulti { get; set; }
public string NoteKinder { get; set; }
public string NoteBaby { get; set; }
public string NoteStaff { get; set; }
}
```
### Esempio F_GET_OSPITI → Metodo Service
```csharp
public async Task<DettaglioOspitiDto> GetOspitiAsync(int idEvento)
{
var ospiti = await _context.EventiDetOspiti
.Where(o => o.IdEvento == idEvento)
.ToListAsync();
return new DettaglioOspitiDto
{
IdEvento = idEvento,
TotAdulti = ospiti.FirstOrDefault(o => o.CodTipoOspite == "8")?.Numero ?? 0,
TotKinder = ospiti.FirstOrDefault(o => o.CodTipoOspite == "5")?.Numero ?? 0,
TotBaby = ospiti.FirstOrDefault(o => o.CodTipoOspite == "6")?.Numero ?? 0,
TotStaff = ospiti.FirstOrDefault(o => o.CodTipoOspite == "7")?.Numero ?? 0,
TotInvitati = ospiti.Sum(o => o.Numero ?? 0),
NoteAdulti = ospiti.FirstOrDefault(o => o.CodTipoOspite == "8")?.Note,
NoteKinder = ospiti.FirstOrDefault(o => o.CodTipoOspite == "5")?.Note,
NoteBaby = ospiti.FirstOrDefault(o => o.CodTipoOspite == "6")?.Note,
NoteStaff = ospiti.FirstOrDefault(o => o.CodTipoOspite == "7")?.Note
};
}
```
### Esempio STRING_TO_TABLE_ENUM → Extension Method
```csharp
public static class StringExtensions
{
public static IEnumerable<string> ToTableEnum(this string input, char delimiter = ':')
{
if (string.IsNullOrEmpty(input))
yield break;
foreach (var item in input.Split(delimiter))
{
yield return item.Trim();
}
}
}
// Uso
var items = "A:B:C".ToTableEnum(':');
```

View File

@@ -0,0 +1,7 @@
# STRING_LIST
## Definizione
```sql
TYPE "STRING_LIST" as table of varchar2(32767);
```

View File

@@ -0,0 +1,18 @@
# T_DET_OSPITI_ROW
## Definizione
```sql
TYPE "T_DET_OSPITI_ROW" AS OBJECT (
id_evento number,
TOT_ADULTI number,
TOT_KINDER number,
TOT_BABY number,
TOT_STAFF number,
TOT_INVITATI number,
NOTE_ADULTI varchar2(1000),
NOTE_KINDER varchar2(1000),
NOTE_BABY varchar2(1000),
NOTE_STAFF varchar2(1000)
);
```

View File

@@ -0,0 +1,7 @@
# T_DET_OSPITI_TAB
## Definizione
```sql
TYPE "T_DET_OSPITI_TAB" IS TABLE OF t_det_ospiti_row;
```

View File

@@ -0,0 +1,137 @@
# T_REP_ALLESTIMENTI_ROW
## Definizione
```sql
TYPE "T_REP_ALLESTIMENTI_ROW" AS OBJECT (
D1 varchar2(100),
D2 varchar2(100),
D3 varchar2(100),
D4 varchar2(100),
D5 varchar2(100),
D6 varchar2(100),
D7 varchar2(100),
D8 varchar2(100),
D9 varchar2(100),
D10 varchar2(100),
D11 varchar2(100),
D12 varchar2(100),
L1 varchar2(100),
L2 varchar2(100),
L3 varchar2(100),
L4 varchar2(100),
L5 varchar2(100),
L6 varchar2(100),
L7 varchar2(100),
L8 varchar2(100),
L9 varchar2(100),
L10 varchar2(100),
L11 varchar2(100),
L12 varchar2(100),
TOV_TO1 varchar2(1000),
TOV_TO2 varchar2(1000),
TOV_TO3 varchar2(1000),
TOV_TO4 varchar2(1000),
TOV_TO5 varchar2(1000),
TOV_TO6 varchar2(1000),
TOV_TO7 varchar2(1000),
TOV_TO8 varchar2(1000),
TOV_TO9 varchar2(1000),
TOV_TO10 varchar2(1000),
TOV_TO11 varchar2(1000),
TOV_TO12 varchar2(1000),
C1 varchar2(1000),
C2 varchar2(1000),
C3 varchar2(1000),
C4 varchar2(1000),
C5 varchar2(1000),
C6 varchar2(1000),
C7 varchar2(1000),
C8 varchar2(1000),
C9 varchar2(1000),
C10 varchar2(1000),
C11 varchar2(1000),
C12 varchar2(1000),
TOV_LO1 varchar2(1000),
TOV_LO2 varchar2(1000),
TOV_LO3 varchar2(1000),
TOV_LO4 varchar2(1000),
TOV_LO5 varchar2(1000),
TOV_LO6 varchar2(1000),
TOV_LO7 varchar2(1000),
TOV_LO8 varchar2(1000),
TOV_LO9 varchar2(1000),
TOV_LO10 varchar2(1000),
TOV_LO11 varchar2(1000),
TOV_LO12 varchar2(1000),
A_G1 varchar2(1000),
A_G2 varchar2(1000),
A_G3 varchar2(1000),
A_G4 varchar2(1000),
A_G5 varchar2(1000),
A_G6 varchar2(1000),
A_G7 varchar2(1000),
A_G8 varchar2(1000),
A_G9 varchar2(1000),
A_G10 varchar2(1000),
A_G11 varchar2(1000),
A_G12 varchar2(1000),
A_O1 varchar2(1000),
A_O2 varchar2(1000),
A_O3 varchar2(1000),
A_O4 varchar2(1000),
A_O5 varchar2(1000),
A_O6 varchar2(1000),
A_O7 varchar2(1000),
A_O8 varchar2(1000),
A_O9 varchar2(1000),
A_O10 varchar2(1000),
A_O11 varchar2(1000),
A_O12 varchar2(1000),
A_R1 varchar2(1000),
A_R2 varchar2(1000),
A_R3 varchar2(1000),
A_R4 varchar2(1000),
A_R5 varchar2(1000),
A_R6 varchar2(1000),
A_R7 varchar2(1000),
A_R8 varchar2(1000),
A_R9 varchar2(1000),
A_R10 varchar2(1000),
A_R11 varchar2(1000),
A_R12 varchar2(1000),
T1 varchar2(1000),
T2 varchar2(1000),
T3 varchar2(1000),
T4 varchar2(1000),
T5 varchar2(1000),
T6 varchar2(1000),
T7 varchar2(1000),
T8 varchar2(1000),
T9 varchar2(1000),
T10 varchar2(1000),
T11 varchar2(1000),
T12 varchar2(1000),
SM1 varchar2(1000),
SM2 varchar2(1000),
SM3 varchar2(1000),
SM4 varchar2(1000),
SM5 varchar2(1000),
SM6 varchar2(1000),
SM7 varchar2(1000),
SM8 varchar2(1000),
SM9 varchar2(1000),
SM10 varchar2(1000),
SM11 varchar2(1000),
SM12 varchar2(1000)
);
```

View File

@@ -0,0 +1,7 @@
# T_REP_ALLESTIMENTI_TAB
## Definizione
```sql
TYPE "T_REP_ALLESTIMENTI_TAB" IS TABLE OF t_rep_allestimenti_row;
```

View File

@@ -0,0 +1,40 @@
# T_REP_CUCINA_ROW
## Definizione
```sql
TYPE "T_REP_CUCINA_ROW" AS OBJECT (
data date,
LOCATION varchar2(4000),
cliente varchar2(4000),
DESCRIZIONE varchar2(4000),
ORA_CERIMONIA varchar2(4000),
ORA_EVENTO varchar2(4000),
TOT_ADULTI number,
TOT_KINDER number,
TOT_BABY number,
TOT_STAFF number,
TOT_INVITATI number,
ALLERGIE varchar2(4000),
TORTA varchar2(4000),
CONFETTATA varchar2(4000),
STAMPA_MENU varchar2(4000),
ANGOLI varchar2(4000),
EXTRA_INFO varchar2(4000),
NOTE_ADULTI varchar2(4000),
NOTE_KINDER varchar2(4000),
NOTE_BABY varchar2(4000),
NOTE_STAFF varchar2(4000),
cliente_mail varchar2(4000),
cliente_tel varchar2(4000),
referente_tel varchar2(4000),
distanza_location varchar2(4000),
buffet_iniziale varchar2(4000),
buffet_finale varchar2(4000),
primi varchar2(4000),
secondi varchar2(4000),
vini varchar2(4000),
extra_costi varchar2(4000),
event_id number
)
```

View File

@@ -0,0 +1,6 @@
# T_REP_CUCINA_TAB
## Definizione
```sql
TYPE "T_REP_CUCINA_TAB" IS TABLE OF t_rep_cucina_row```

View File

@@ -0,0 +1,6 @@
# XLIB_VC2_ARRAY_T
## Definizione
```sql
TYPE "XLIB_VC2_ARRAY_T" AS TABLE OF VARCHAR2 (32767 CHAR)```