Files
2025-10-21 16:50:17 +01:00

67 lines
2.4 KiB
C#

using System;
using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
namespace Sarand.Net.Standard.Base.Procs
{
//=======================================================================
public abstract class SaReport_Base : SacsDisposableStateItem
{
//-------------------------------------------------------------------
// Definitions.
//-------------------------------------------------------------------
// Configuration.
public class Config
{
}
//-------------------------------------------------------------------
// Data members.
private Config config = null;
//-------------------------------------------------------------------
// Construction.
protected SaReport_Base (Config config)
{
this.config = config;
}
protected override void Dispose (bool disposing)
{
if (disposing)
{
}
}
//-------------------------------------------------------------------
// Properties.
public abstract String Caption { get; }
public abstract bool ValidConfig { get; }
public bool DebugMode { get { return SacsSystem.DebugMode; } }
//-------------------------------------------------------------------
// P a g i n g
//-------------------------------------------------------------------
/// <summary>First Page number currently being printed.</summary>
public int PageNumberFrom { get; protected set; } = 1;
/// <summary>Last Page number currently being printed.</summary>
public int PageNumberTo { get; protected set; } = 1;
/// <summary>Page number currently being printed.</summary>
public int PageNumber { get; protected set; } = 1;
/// <summary>Does the report require the page count, eg. to be printed in footer.</summary>
public virtual bool RequirePageCount { get; }
/// <summary>
/// Highest page number known to be in report.
/// <para>Used to indicate minimum page range prior to page count being known.</para>
/// </summary>
public int PageNumberMaxKnown { get; protected set; } = 1;
/// <summary>Total number of pages - only populated once confirmed.</summary>
public int PageCount { get; protected set; }
/// <summary>Report progress (0-100) where available.</summary>
public virtual decimal ProgressPercent { get; }
//-------------------------------------------------------------------
}
//=======================================================================
}