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