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;
}
}
}