refactor: relocate options classes to dedicated Options folders

Move configuration options from Core/DataAccess/DataSync/ExcelIO to
dedicated Options folders within each project for better organization.
Update all references and tests accordingly.
This commit is contained in:
Joseph Doherty
2026-01-03 08:55:08 -05:00
parent 3cb73eb09f
commit ec4c8fab87
52 changed files with 4628 additions and 202 deletions
@@ -0,0 +1,52 @@
namespace JdeScoping.DataAccess.Options;
/// <summary>
/// Configuration options for the data access layer.
/// </summary>
public class DataAccessOptions
{
/// <summary>
/// Configuration section name for binding.
/// </summary>
public const string SectionName = "DataAccess";
/// <summary>
/// Default timeout for database queries in seconds.
/// </summary>
public int DefaultTimeoutSeconds { get; set; } = 600;
/// <summary>
/// Timeout for lot usage queries in seconds (very large dataset).
/// </summary>
public int LotUsageTimeoutSeconds { get; set; } = 999999;
/// <summary>
/// Timeout for MIS data queries in seconds.
/// </summary>
public int MisDataTimeoutSeconds { get; set; } = 60000;
/// <summary>
/// Timeout for index rebuild operations in seconds.
/// </summary>
public int RebuildIndexTimeoutSeconds { get; set; } = 600;
/// <summary>
/// JDE production schema name (e.g., PRODDTA).
/// </summary>
public string ProductionSchema { get; set; } = "PRODDTA";
/// <summary>
/// JDE archive schema name (e.g., ARCDTAPD).
/// </summary>
public string ArchiveSchema { get; set; } = "ARCDTAPD";
/// <summary>
/// JDE stage schema name (e.g., JDESTAGE).
/// </summary>
public string StageSchema { get; set; } = "JDESTAGE";
/// <summary>
/// Enable detailed SQL logging for debugging.
/// </summary>
public bool EnableDetailedLogging { get; set; } = false;
}