using System.Collections.Generic; using System.Data; namespace Consulenza.ReportModeler.Business.Base.Proposta { /// /// Classe di business per che si interfaccia con il database di ConsulenzaBase /// e che si occupa di recuperare le informazioni legate alla logica di modellazione del report (ReportModeler). /// public class ReportStructBusiness { /// /// Recupera l'id del report. /// E' definito a livello di database. Campo ID di [ReportModeler2].[dbo].[Report] /// /// public int GetIdReport() { return 1; } /// /// Recupera l'id del modello in funzione dello stato di adeguatezza della proposta. /// L'id del modello per il report di Proposta di ConsulenzaBase è determinato dallo stato di adeguatezza della proposta il cui id è passato in input. /// Eseguendo la stored "REP_CheckStatoProposta_Adeguata" avrò idmodello = 1 per la proposta in stato "ADEGUATA", idmodello = 2 per proposta "NON ADEGUATA". /// /// chiave del cliente (ChiaveClientePB) /// chiave della proposta /// public int GetIdModel(long chiaveCliente, int chiaveProposta, bool unica) { int idModel; var parametri = new List(); #region Definizione dei parametri parametri.Clear(); var parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int64, ParameterName = "ChiaveClientePB", Value = chiaveCliente }; parametri.Add(parametro); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int32, ParameterName = "ChiaveProposta", Value = chiaveProposta }; parametri.Add(parametro); #endregion var dtEsitoAdeguatezza = unica ? DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_CheckStatoProposta_Adeguata", parametri) : DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaBase, "REP_CheckStatoProposta_Adeguata", parametri); var codice = dtEsitoAdeguatezza.Rows[0]["STATO_ADEGUATEZZA"].ToString(); if (!codice.Equals(string.Empty)) { idModel = codice.Equals("ADEGUATA") ? 1 : 2; } else { idModel = 2; // Fisso definito a livello database } return idModel; } public int GetIdModelBaseUnica(long chiaveCliente, int chiaveProposta) { int idModel; var parametri = new List(); #region Definizione dei parametri parametri.Clear(); var parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int64, ParameterName = "ChiaveClientePB", Value = chiaveCliente }; parametri.Add(parametro); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int32, ParameterName = "ChiaveProposta", Value = chiaveProposta }; parametri.Add(parametro); #endregion var dtEsitoAdeguatezza = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_CheckStatoProposta_Adeguata", parametri); var codice = dtEsitoAdeguatezza.Rows[0]["STATO_ADEGUATEZZA"].ToString(); if (!codice.Equals(string.Empty)) { idModel = codice.Equals("ADEGUATA") ? 1 : 2; } else { idModel = 2; // Fisso definito a livello database } return idModel; } } }