using Consulenza.ReportWriter.Business.Entity;
using Consulenza.ReportWriter.Business;
using Consulenza.ReportWriter.Manager.Integration;
using System.Data;
using System.Collections.Generic;
namespace Consulenza.ReportWriter.Manager.Chapter.Entity
{
public abstract class Chapter : EntityBase
{
///
/// Imposta o recupera l'id del capitolo definito a livello database.
/// Campo ID della tabella Capitoli
///
protected int IdChapter { get; set; }
///
/// Imposta o recupera un booleano che indica se il testo del capitolo sarà ripetuto su tutte le pagine sottostanti al capitolo stesso.
///
public bool RepeatOnEachPage { get; set; }
///
/// Imposta o recupera un bool che determina l'esisteza del Chapter e relativa Section.
/// Se false non viene stampato ne il Chapter ne la Section.
/// Di default = true.
///
public bool Exist { get; set; }
///
/// Imposta o recupera l'oggetto IntegrationLayout che contiene informazioni id integrazioni grafiche.
/// Ad esempio: duplicazione di capitoli, paragrafi e sezioni...
///
protected IntegrationLayout IntegrationLayout { get; set; }
///
/// Costruttore
///
///
///
protected Chapter(EnvironmentFacade environmentFacade, int idchapter)
: base(environmentFacade)
{
IdChapter = idchapter;
EntityType = EntityTypePdf.Chapter;
Exist = true;
}
///
/// Disegna il capitolo.
///
protected abstract void Draw();
///
/// Recupera i testi definiti in tabella [ReportModeler2].[TestiCapitoli] eseguendo la stored sp_RecuperaTestiCapitoli.
///
///
protected DataTable GetText()
{
#region Definizione dei parametri
var parametri = new List
{
new Parametro
{
Direction = ParameterDirection.Input,
DbType = DbType.Int32,
ParameterName = "IdReport",
Value = EnvironmentFacade.ReportEnvironment.ReportId
},
new Parametro
{
Direction = ParameterDirection.Input,
DbType = DbType.Int32,
ParameterName = "IdCapitolo",
Value = IdChapter
}
};
#endregion
return DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerReportModeler, "sp_RecuperaTestiCapitoli", parametri);
}
public override string ToString()
{
return IdChapter.ToString();
}
}
}