Lead Manager: differenze tra le versioni

Da Webmobili Wiki.
Riga 40: Riga 40:
}
}
</syntaxhighlight>
</syntaxhighlight>
==== Livello DAL ====
Nel progetto <code>LeadManager.Dal.sql</code><br/>
creare una classe che estenda tutte quelle appena definite nel livello entity.
<syntaxhighlight lang="c#">
public class ConfigCompanyBudgetDal : BaseDal<ConfigCompanyBudget>, IDataLayer<ConfigCompanyBudget, ConfigCompanyBudget_List,int,ConfigCompanyBudget_SearchParameters, ConfigCompanyBudget_ActionParameters>
</syntaxhighlight>
col compilatore di VS implementare tutti i metodi astratti e di interfaccia.

Versione delle 14:02, 4 set 2024

Progetto che prevede API e Frontend,
il primo sviluppato in MVC e il secondo in Web Forms.

Struttura

Il Frontend utilizza due livelli di astrazione: biz e dal.

  • biz : La logica applicativa, mette a disposizione i modelli e quando deve recuperare informazioni dal database si affida al livello inferiore dal
  • dal : Il livello basso, nel quale vengono chiamate le vere e proprie stored procedure.
  • entity: Definizione delle entità tabelle usato da dal

biz e dal sono veri e propri progetti nella soluzione.

Esempio di implementazione

Dovendo implementare la nuova configurazione che permette ai negozi di filtrare le richieste in base al budget,
vogliamo costruire da zero i livelli dal e biz seguendo la struttura del progetto.

Livello Entity

Nel progetto LeadManager.Entities creare un file NomeClasse.cs nel quale

  • creare una nuova classe NomeClasse : BaseEntity che definisca esattamente i campi della tabella come property
  • creare una nuova classe NomeClasse_List : BaseEntityList<NomeClasse>
  • creare una nuova classe NomeClasse_SearchParameters : BaseEntitySearchParameters con i filtri necessari per avere una get delle opzioni budget di una company
  • creare una nuova classe NomeClasse_ActionParameters : BaseEntityActionParameters
public class ConfigCompanyBudget : BaseEntity {
	public int config_company_budgetID { get; set; }
	public int companyID { get; set; }
	public int budgetID { get; set; }
}

public class ConfigCompanyBudget_List : BaseEntityList<ConfigCompanyBudget> {

}

public class ConfigCompanyBudget_SearchParameters : BaseEntitySearchParameters {
	public int companyID { get; set; }
}

public class ConfigCompanyBudget_ActionParameters : BaseEntityActionParameters {

}

Livello DAL

Nel progetto LeadManager.Dal.sql
creare una classe che estenda tutte quelle appena definite nel livello entity.

public class ConfigCompanyBudgetDal : BaseDal<ConfigCompanyBudget>, IDataLayer<ConfigCompanyBudget, ConfigCompanyBudget_List,int,ConfigCompanyBudget_SearchParameters, ConfigCompanyBudget_ActionParameters>

col compilatore di VS implementare tutti i metodi astratti e di interfaccia.