Skip to main content

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

CampoTipo PHPDescrizione
idintIdentificativo univoco del modello
namestringNome univoco del modello - identifica in modo univoco il modello di template
slugstringSlug del modello per URL e routing
ownerOwnerAppEnumProprietario del grafo - identifica l'applicazione di appartenenza (inizialmente solo Agorà casa e Agorà condominio)
depthintProfondità del grafo - definisce quanti livelli di profondità ha il grafo (zero è la base)
layersOptional|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:

CampoTipo PHPDescrizione
uuidstringIdentificativo univoco del layer
depthintLa profondità dei nodi di questo layer - sarà equivalente all'indice di questo elemento nell'array 'layers' di McTemplateModel
labelstringLa label che definirà come i nodi verranno chiamati ad alto livello (es. L2.1, L4, ecc.)
hasBonusFeatureboolDefinisce se il nodo dovrà avere la feature 'bonus'
hasLotFeatureboolDefinisce se il nodo dovrà avere la feature 'lotti'
hasScheduleFeatureboolDefinisce se il nodo dovrà avere la feature 'cronoprogramma'
hasAdvancedPriceFeatureboolDefinisce se il nodo dovrà avere la feature 'prezzi avanzati'

Funzionamento

Il templateModel funziona come un blueprint per la creazione di template di computi:

  1. name fornisce un identificativo univoco per distinguere tra diversi modelli
  2. owner determina l'applicazione proprietaria del modello (Agorà casa o Agorà condominio)
  3. depth stabilisce quanti livelli di profondità avrà il grafo risultante
  4. layers definisce 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à.