Template dei computi
I template dei computi (come i computi metrici) sono delle strutture di tipo grafo che possono avere una profondità variabile a seconda del modello scelto.
Modelli di template
La gestione dei template parte dalla creazione di Modelli di template, entità che servono a definire la forma del grafo.
Struttura del TemplateModel
Il templateModel è rappresentato dalla classe McTemplateModelDto e definisce la struttura completa di un modello di template. La sua struttura è composta dai seguenti campi:
McTemplateModelDto
| Campo | Tipo PHP | Descrizione |
|---|---|---|
id | int | Identificativo univoco del modello |
name | string | Nome univoco del modello - identifica in modo univoco il modello di template |
slug | string | Slug del modello per URL e routing |
owner | OwnerAppEnum | Proprietario del grafo - identifica l'applicazione di appartenenza (inizialmente solo Agorà casa e Agorà condominio) |
depth | int | Profondità del grafo - definisce quanti livelli di profondità ha il grafo (zero è la base) |
layers | Optional|McTemplateModelLayerDto[] | Informazioni sui nodi ad ogni livello di profondità - contiene le informazioni relative ai layers del grafo da trasferire ai nodi |
McTemplateModelLayerDto
Ogni layer del modello è rappresentato dalla classe McTemplateModelLayerDto che definisce le caratteristiche dei nodi a quel livello specifico:
| Campo | Tipo PHP | Descrizione |
|---|---|---|
uuid | string | Identificativo univoco del layer |
depth | int | La profondità dei nodi di questo layer - sarà equivalente all'indice di questo elemento nell'array 'layers' di McTemplateModel |
label | string | La label che definirà come i nodi verranno chiamati ad alto livello (es. L2.1, L4, ecc.) |
hasBonusFeature | bool | Definisce se il nodo dovrà avere la feature 'bonus' |
hasLotFeature | bool | Definisce se il nodo dovrà avere la feature 'lotti' |
hasScheduleFeature | bool | Definisce se il nodo dovrà avere la feature 'cronoprogramma' |
hasAdvancedPriceFeature | bool | Definisce se il nodo dovrà avere la feature 'prezzi avanzati' |
Funzionamento
Il templateModel funziona come un blueprint per la creazione di template di computi:
namefornisce un identificativo univoco per distinguere tra diversi modelliownerdetermina l'applicazione proprietaria del modello (Agorà casa o Agorà condominio)depthstabilisce quanti livelli di profondità avrà il grafo risultantelayersdefinisce le caratteristiche specifiche di ogni livello, incluse le funzionalità disponibili per i nodi di quel livello
Questa struttura permette di creare template flessibili e configurabili che possono adattarsi alle diverse esigenze delle applicazioni Agorà.