using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; using Vrh.XmlProcessing; namespace Vrh.OneReport { /// /// A OneReport xml-ben a "General"-ben megadott helyen a "AutoPurge" elemet reprezentálja. /// public class AutoPurgeElement : XmlLinqBase { #region Constants /// /// AutoPurge Timout alapértelmezett értéke /// public const int DEFAULT_TIMOUT = 300; /// /// AutoPurge tmp folder alapértelmezett értéke /// public const string DEFAULT_TMPFOLDER = ""; #endregion Constants #region AttributeNames static class /// /// Az XML fájlban ilyen attribútum nevek találhatóak egy "general.Timout" elemben. /// public static class AttributeNames { /// /// 'TmpFolder' attribútum név. /// public const string TMPFOLDER = "TmpFolder"; /// /// 'Timeout' attributum név. /// public const string TIMEOUT = "Timeout"; } #endregion AttributeNames static class #region Properties /// /// Auto purge timeout érték másodpercben. /// Alapértelmezett értéke: 60 /// public int Timeout { get; set; } = DEFAULT_TIMOUT; /// /// Ideiglenes fileok tárolási mappája /// public string TmpFolder { get; set; } = DEFAULT_TMPFOLDER; #endregion Properties #region Constructors /// /// Alapértelmezett konstructor /// public AutoPurgeElement() { this.TmpFolder = DEFAULT_TMPFOLDER; this.Timeout = DEFAULT_TIMOUT; } /// /// Konstruktor az XElement feldolgozásával. /// /// Egy "AutoPurge" XElement. /// Az éppen érvényes alapértelmezés. public AutoPurgeElement(XElement xelement=null, AutoPurgeElement defaultAutoPurge = null) { if (defaultAutoPurge == null) { defaultAutoPurge = new AutoPurgeElement(); } if (xelement != null) { this.TmpFolder = GetValue(xelement.Attribute(AttributeNames.TMPFOLDER), defaultAutoPurge.TmpFolder); this.Timeout= GetValue(xelement.Attribute(AttributeNames.TIMEOUT), defaultAutoPurge.Timeout); } else { this.TmpFolder = defaultAutoPurge.TmpFolder; this.Timeout = defaultAutoPurge.Timeout; } } #endregion Constructors } }