using System.Collections.Generic; namespace Consulenza.ReportWriter.Business.Entity { /// /// Classe base necessaria ad imporre dipendenze creazionali da istanze DataModel ed EnvironmentFacade. /// public class EntityBase { public readonly Consulenza.DataServices.DatiSeiUnico datiSeiUnico; private readonly List _elements; private readonly EnvironmentFacade _environmentFacade; private readonly ChapterFacade _chapterfacade; protected EnvironmentFacade EnvironmentFacade { get { return _environmentFacade; } } /// /// Costruttore originario: impone una dipendenza stretta fra il DataModel ed ogni Concrete Instance. /// /// public EntityBase(EnvironmentFacade environmentFacade) { _elements = new List(); _chapterfacade = new ChapterFacade(); _environmentFacade = environmentFacade; datiSeiUnico = environmentFacade.datiSeiUnico; } /// /// Imposta o recupera la collezione di elementi ObjectPDF. /// public List Elements { get { return _elements; } } /// /// Imposta o recupera il tipo di EntityBase cui verranno aggiunti gli elements: Chapter, Paragraph, Section. /// public EntityTypePdf EntityType { get; set; } /// /// Recupera ChapterFacade /// public ChapterFacade ChapterFacade { get { return _chapterfacade; } } /// /// Aggiunge l'oggetto passato in input alla collezione _elements. /// /// ObjectPDF da aggiungere. public void AddElement(List objectPdf) { foreach (ObjectPDF obj in objectPdf) _elements.Add(obj); } /// /// Aggiunge l'oggetto passato in input alla collezione _elements. /// /// ObjectPDF da aggiungere. public void AddElement(ObjectPDF objectPdf) { _elements.Add(objectPdf); } } }