docs: add XML documentation and ConfigManager implementation plans

Add comprehensive XML documentation (param/returns tags) across 132 source
files to improve IntelliSense and API discoverability. Include ConfigManager
design documents and implementation plans for phases 1-9.
This commit is contained in:
Joseph Doherty
2026-01-20 02:26:26 -05:00
parent c044337539
commit d49330e697
136 changed files with 9181 additions and 4 deletions
@@ -7,16 +7,53 @@ namespace JdeScoping.Client.Models;
/// </summary>
public class SearchCriteriaViewModel
{
/// <summary>
/// Gets or sets the minimum date for search filtering.
/// </summary>
public DateTime? MinimumDt { get; set; }
/// <summary>
/// Gets or sets the maximum date for search filtering.
/// </summary>
public DateTime? MaximumDt { get; set; }
/// <summary>
/// Gets or sets the list of work orders to include in the search.
/// </summary>
public List<WorkOrderViewModel> WorkOrders { get; set; } = [];
/// <summary>
/// Gets or sets the list of items to include in the search.
/// </summary>
public List<ItemViewModel> Items { get; set; } = [];
/// <summary>
/// Gets or sets the list of profit centers to include in the search.
/// </summary>
public List<ProfitCenterViewModel> ProfitCenters { get; set; } = [];
/// <summary>
/// Gets or sets the list of work centers to include in the search.
/// </summary>
public List<WorkCenterViewModel> WorkCenters { get; set; } = [];
/// <summary>
/// Gets or sets the list of component lots to include in the search.
/// </summary>
public List<ComponentLotViewModel> ComponentLots { get; set; } = [];
/// <summary>
/// Gets or sets the list of operators to include in the search.
/// </summary>
public List<OperatorViewModel> Operators { get; set; } = [];
/// <summary>
/// Gets or sets the list of part operations to include in the search.
/// </summary>
public List<PartOperationViewModel> PartOperations { get; set; } = [];
/// <summary>
/// Gets or sets a value indicating whether to extract MIS data in the search.
/// </summary>
public bool ExtractMisData { get; set; }
}
@@ -7,15 +7,45 @@ namespace JdeScoping.Client.Models;
/// </summary>
public class SearchViewModel
{
/// <summary>
/// Gets or sets the unique identifier for the search.
/// </summary>
public int Id { get; set; }
/// <summary>
/// Gets or sets the name of the search.
/// </summary>
[Required(ErrorMessage = "Name is required.")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the username of the user who created the search.
/// </summary>
public string UserName { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the current status of the search.
/// </summary>
public string Status { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the date and time when the search was submitted.
/// </summary>
public DateTime? SubmitDt { get; set; }
/// <summary>
/// Gets or sets the date and time when the search execution started.
/// </summary>
public DateTime? StartDt { get; set; }
/// <summary>
/// Gets or sets the date and time when the search execution ended.
/// </summary>
public DateTime? EndDt { get; set; }
/// <summary>
/// Gets or sets the search criteria for filtering.
/// </summary>
public SearchCriteriaViewModel Criteria { get; set; } = new();
/// <summary>
@@ -6,21 +6,74 @@ namespace JdeScoping.Client.Models;
/// </summary>
public class ValidCombination
{
/// <summary>
/// The unique identifier for this combination.
/// </summary>
public int Id { get; private init; }
/// <summary>
/// The display name for this combination.
/// </summary>
public string Name { get; private init; } = string.Empty;
/// <summary>
/// Whether the timespan filter is included in this combination.
/// </summary>
public bool Timespan { get; private init; }
/// <summary>
/// Whether the work order filter is included in this combination.
/// </summary>
public bool WorkOrder { get; private init; }
/// <summary>
/// Whether the item number filter is included in this combination.
/// </summary>
public bool ItemNumber { get; private init; }
/// <summary>
/// Whether the profit center filter is included in this combination.
/// </summary>
public bool ProfitCenter { get; private init; }
/// <summary>
/// Whether the work center filter is included in this combination.
/// </summary>
public bool WorkCenter { get; private init; }
/// <summary>
/// Whether the component lot filter is included in this combination.
/// </summary>
public bool ComponentLot { get; private init; }
/// <summary>
/// Whether the operator filter is included in this combination.
/// </summary>
public bool Operator { get; private init; }
/// <summary>
/// Whether the item operation MIS filter is included in this combination.
/// </summary>
public bool ItemOperationMis { get; private init; }
/// <summary>
/// Whether the extract MIS filter is included in this combination.
/// </summary>
public bool ExtractMis { get; private init; }
/// <summary>
/// Checks if the given filter flags match this combination.
/// </summary>
/// <param name="timespan">Whether timespan filter is enabled.</param>
/// <param name="workOrder">Whether work order filter is enabled.</param>
/// <param name="itemNumber">Whether item number filter is enabled.</param>
/// <param name="profitCenter">Whether profit center filter is enabled.</param>
/// <param name="workCenter">Whether work center filter is enabled.</param>
/// <param name="componentLot">Whether component lot filter is enabled.</param>
/// <param name="operator">Whether operator filter is enabled.</param>
/// <param name="itemOperationMis">Whether item operation MIS filter is enabled.</param>
/// <param name="extractMis">Whether extract MIS filter is enabled.</param>
/// <returns>True if all flags match this combination.</returns>
public bool Matches(
bool timespan,
bool workOrder,