=== Summary: 675 files | 7 generated | 484 fresh | 4605 untracked | 4268 adopted | 355 marked | 466 validated-ok | 2+0 stale (sig+body) | 0 skipped | 0 failed | elapsed 11:08:11.442 (40091.44s) ===

This commit is contained in:
julian
2026-06-28 02:50:05 -07:00
parent a19fb90902
commit 586f02a2ca
654 changed files with 5260 additions and 0 deletions
@@ -11,6 +11,7 @@ namespace adas_core.Domain.Models.MongoModels;
/// <remarks>
/// This class encapsulates the configuration data used to manage display-related properties and behavior.
/// </remarks>
/// <!-- aidoc:v1 sig=f899910 -->
public class DisplayConfig
{
public ObjectId Id { get; set; }
@@ -62,6 +63,8 @@ public class DisplayConfig
/// </summary>
/// <param name="defaultConfig">The default configuration to use as a fallback when the current configuration properties are null or empty.</param>
/// <returns>The current <see cref="DisplayConfig"/> instance with merged configuration values.</returns>
/// <!-- aidoc-review:v1 severity=medium kind=wrong_summary
/// "Documentation claims collection properties are replaced when 'null or empty', but the checks use `?.Count == 0` (which evaluates to false when the collection is null, so null collections are NOT replaced) and FieldList uses `.Count == 0` without `?.`, which would throw NullReferenceException if null. In practice, collections are only replaced when empty." -->
public virtual DisplayConfig MergeConfig(DisplayConfig defaultConfig)
{
// CardConfig ??= defaultConfig.CardConfig;
@@ -85,6 +88,7 @@ public class DisplayConfig
/// <summary>
/// Represents a standard display configuration, extending the base <see cref="DisplayConfig"/> class to provide default display settings.
/// </summary>
/// <!-- aidoc:v1 sig=65fefbe -->
public class StandarDisplay : DisplayConfig
{
public SectionConfig? SectionConfig { get; set; }
@@ -94,6 +98,7 @@ public class StandarDisplay : DisplayConfig
/// </summary>
/// <param name="defaultConfig">The default display configuration to merge from. Only values from a <see cref="StandarDisplay"/> instance are applied.</param>
/// <returns>The merged <see cref="DisplayConfig"/>, or the current instance if the provided configuration is not a <see cref="StandarDisplay"/>.</returns>
/// <!-- aidoc:v1 sig=b33236e body=5690a8c -->
public override DisplayConfig MergeConfig(DisplayConfig defaultConfig)
{
if (defaultConfig is not StandarDisplay defaultStandarConfig)
@@ -108,6 +113,7 @@ public class StandarDisplay : DisplayConfig
/// <summary>
/// Represents a display configuration specific to nurses, inheriting common display behavior from the <see cref="DisplayConfig"/> base class.
/// </summary>
/// <!-- aidoc:v1 sig=2caf10d -->
public class DisplayNurse : DisplayConfig
{
/// <summary>
@@ -115,6 +121,8 @@ public class DisplayNurse : DisplayConfig
/// </summary>
/// <param name="defaultConfig">The default DisplayConfig to merge values from. Only DisplayNurse instances contribute fallback values for nurse-specific settings.</param>
/// <returns>A DisplayConfig containing the merged configuration.</returns>
/// <!-- aidoc-review:v1 severity=high kind=wrong_summary
/// "Summary states that when defaultConfig is not a DisplayNurse instance, 'the current configuration is returned unchanged before delegating to the base merge behavior.' In the code, it returns this immediately without calling base.MergeConfig; the base merge is only invoked when defaultConfig IS a DisplayNurse." -->
public override DisplayConfig MergeConfig(DisplayConfig defaultConfig)
{
if (defaultConfig is not DisplayNurse defaultNurseConfig) return this;
@@ -131,6 +139,7 @@ public class DisplayNurse : DisplayConfig
/// <remarks>
/// Inherits from <see cref="DisplayConfig"/>, extending its general display configuration behavior with pump-specific context.
/// </remarks>
/// <!-- aidoc:v1 sig=c412ac8 -->
public class PumpDisplay : DisplayConfig
{
/// <summary>
@@ -138,6 +147,7 @@ public class PumpDisplay : DisplayConfig
/// </summary>
/// <param name="config">The display configuration to merge from. Only <see cref="PumpDisplay"/> instances are processed; any other type results in the current instance being returned as-is.</param>
/// <returns>The merged <see cref="DisplayConfig"/> result produced by chaining the base merge operation.</returns>
/// <!-- aidoc:v1 sig=a725218 body=9a89afd -->
public override DisplayConfig MergeConfig(DisplayConfig config)
{
if (config is not PumpDisplay defaultConfig) return this;
@@ -159,6 +169,7 @@ public class PumpDisplay : DisplayConfig
/// <summary>
/// Represents a smart display configuration that extends the base <see cref="DisplayConfig"/> behavior.
/// </summary>
/// <!-- aidoc:v1 sig=9d6032d -->
public class SmartDisplay : DisplayConfig
{
/// <summary>
@@ -166,6 +177,8 @@ public class SmartDisplay : DisplayConfig
/// </summary>
/// <param name="defaultConfigToCast">The default <see cref="DisplayConfig"/> to merge; it is cast to <see cref="SmartDisplay"/> to access smart display-specific properties.</param>
/// <returns>The merged <see cref="DisplayConfig"/> produced by the base merge operation.</returns>
/// <!-- aidoc-review:v1 severity=high kind=wrong_summary
/// "Summary states that when the configuration is not a SmartDisplay, 'the current instance is returned unchanged and the merge is delegated to the base implementation', but the code returns early via `return this;` and never calls `base.MergeConfig(defaultConfig)` in that branch." -->
public override DisplayConfig MergeConfig(DisplayConfig defaultConfigToCast)
{
if (defaultConfigToCast is not SmartDisplay defaultConfig) return this;
@@ -216,6 +229,7 @@ public class SmartDisplay : DisplayConfig
/// <param name="value1">The first value to compare.</param>
/// <param name="value2">The second value to compare.</param>
/// <returns><c>true</c> if both values are null, deeply equal as enumerables, equal via <see cref="object.Equals(object, object)"/> when their types match, or have matching string representations; otherwise, <c>false</c>.</returns>
/// <!-- aidoc:v1 sig=d71a534 body=38b9696 -->
private static bool AreEqual(object? value1, object? value2)
{
if (value1 == null && value2 == null) return true;
@@ -251,6 +265,7 @@ public class SmartDisplay : DisplayConfig
/// <summary>
/// Represents a configuration class for defining header-related settings.
/// </summary>
/// <!-- aidoc:v1 sig=3510dc0 -->
public class HeaderConfig
{
public HeaderItem? PartnerLogo { get; set; }
@@ -280,6 +295,7 @@ public class HeaderConfig
/// <summary>
/// Represents a single item contained within a header.
/// </summary>
/// <!-- aidoc:v1 sig=8f11d42 -->
public class HeaderItem
{
public string? LogoUrl { get; set; }
@@ -290,6 +306,7 @@ public class HeaderConfig
/// <summary>
/// Represents a display section that provides a minimal rendering configuration.
/// </summary>
/// <!-- aidoc:v1 sig=5dcd648 -->
public class MinimalDisplaySection
{
public string? Name { get; set; }
@@ -299,6 +316,7 @@ public class MinimalDisplaySection
/// <summary>
/// Represents the configuration settings for a section.
/// </summary>
/// <!-- aidoc:v1 sig=ea9c3f4 -->
public class SectionConfig
{
public int? Columns { get; set; }
@@ -311,6 +329,7 @@ public class SectionConfig
/// <summary>
/// Represents a banner item, typically used to encapsulate data related to a banner display element such as a notification, advertisement, or promotional content.
/// </summary>
/// <!-- aidoc:v1 sig=1bd3f1b -->
public class BannerItem
{
public DisplayConfigEnums.BannerType? Type { get; set; }
@@ -324,6 +343,7 @@ public class BannerItem
/// <remarks>
/// This class is used to store and manage configuration data related to individual banner items within the application.
/// </remarks>
/// <!-- aidoc:v1 sig=f9294dd -->
public class BannerItemConfig
{
public BannerItemTableConfig? BannerItemTableConfig { get; set; }
@@ -334,6 +354,7 @@ public class BannerItemConfig
/// <summary>
/// Represents the configuration settings for a banner item table.
/// </summary>
/// <!-- aidoc:v1 sig=3ff0b95 -->
public class BannerItemTableConfig
{
public List<HeaderBannerItemTableConfig>? Config { get; set; }
@@ -344,6 +365,7 @@ public class BannerItemTableConfig
/// <summary>
/// Represents the configuration settings for medical staff.
/// </summary>
/// <!-- aidoc:v1 sig=e9bae08 -->
public class MedicalStaffConfig
{
public bool? HasTeams { get; set; }
@@ -353,6 +375,7 @@ public class MedicalStaffConfig
/// <summary>
/// Represents an overview of form items, providing a consolidated view or summary of form-related data.
/// </summary>
/// <!-- aidoc:v1 sig=832554b -->
public class FormItemOverview
{
public bool Nhc { get; set; }
@@ -383,6 +406,7 @@ public class FormItemOverview
/// <summary>
/// Represents the configuration settings for a table that displays header banner items.
/// </summary>
/// <!-- aidoc:v1 sig=3f13f61 -->
public class HeaderBannerItemTableConfig
{
public DisplayConfigEnums.CellType? Type { get; set; }
@@ -398,6 +422,7 @@ public class HeaderBannerItemTableConfig
/// <summary>
/// Represents a sensor, which is a device or component used to detect and measure physical phenomena such as temperature, pressure, or motion.
/// </summary>
/// <!-- aidoc:v1 sig=ab8bd33 -->
public class Sensor
{
public string? Name { get; set; }
@@ -409,6 +434,7 @@ public class Sensor
/// <summary>
/// Represents a configuration that defines color-related settings or values.
/// </summary>
/// <!-- aidoc:v1 sig=de4e5be -->
public class ColorConfig
{
public LevelColors? Level { get; set; }
@@ -461,6 +487,7 @@ public class ColorConfig
/// <summary>
/// Represents configuration settings that define the visual appearance of an application or user interface element.
/// </summary>
/// <!-- aidoc:v1 sig=070355d -->
public class AppearanceSettings
{
public string? TextColor { get; set; }
@@ -502,6 +529,7 @@ public class ColorConfig
/// <summary>
/// Represents the set of colors used to display numbers within a status box.
/// </summary>
/// <!-- aidoc:v1 sig=41d803c -->
public class StatusBoxNumberColors
{
public AppearanceSettings? Reserved { get; set; }
@@ -543,6 +571,7 @@ public class ColorConfig
/// <summary>
/// Represents a collection of colors used for therapy-related visuals or themes.
/// </summary>
/// <!-- aidoc:v1 sig=550c282 -->
public class TherapyColors
{
public AppearanceSettings? Default { get; set; }
@@ -577,6 +606,7 @@ public class ColorConfig
/// <summary>
/// Represents a test class for color-related operations or values.
/// </summary>
/// <!-- aidoc:v1 sig=b0381d4 -->
public class TestColors
{
public AppearanceSettings? Default { get; set; }
@@ -612,6 +642,7 @@ public class ColorConfig
/// <summary>
/// Represents a set of colors used to define or customize the appearance of a procedure.
/// </summary>
/// <!-- aidoc:v1 sig=676d773 -->
public class ProcedureColors
{
public AppearanceSettings? Default { get; set; }
@@ -647,6 +678,7 @@ public class ColorConfig
/// <summary>
/// Represents a collection or definition of colors associated with different levels.
/// </summary>
/// <!-- aidoc:v1 sig=f693cfc -->
public class LevelColors
{
public string? Level1 { get; set; }
@@ -685,6 +717,7 @@ public class ColorConfig
/// <summary>
/// Provides a collection of predefined color values used for styling or rendering text.
/// </summary>
/// <!-- aidoc:v1 sig=d12f899 -->
public class TextColors
{
public string? Normal { get; set; }
@@ -723,6 +756,7 @@ public class ColorConfig
/// <summary>
/// Represents a collection or definition of colors used for rendering arrows.
/// </summary>
/// <!-- aidoc:v1 sig=abbea19 -->
public class ArrowColors
{
public string? Normal { get; set; }
@@ -758,6 +792,7 @@ public class ColorConfig
/// <summary>
/// Represents a collection or definition of colors used for indicators.
/// </summary>
/// <!-- aidoc:v1 sig=5c596cd -->
public class IndicatorColors
{
public string? Empty { get; set; }
@@ -799,6 +834,7 @@ public class ColorConfig
/// <summary>
/// Represents a collection or definition of colors used for rendering graphs.
/// </summary>
/// <!-- aidoc:v1 sig=83d1667 -->
public class GraphColors
{
public string? Normal { get; set; }
@@ -835,6 +871,7 @@ public class ColorConfig
/// <remarks>
/// This class encapsulates the configuration data required to define or manage form-related properties.
/// </remarks>
/// <!-- aidoc:v1 sig=68452e9 -->
public class FormConfig
{
public FormItemOverview? Admission { get; set; }
@@ -849,6 +886,7 @@ public class FormConfig
/// <summary>
/// Represents a label associated with an axis, typically used in charting or graphing scenarios to describe or identify the axis.
/// </summary>
/// <!-- aidoc:v1 sig=8bf0d61 -->
public class AxisLabel
{
public bool? Show { get; set; }
@@ -868,6 +906,10 @@ public class AxisLabel
/// Represents a line associated with an axis, typically used to render or define the visual structure of an axis in a chart or graph.
/// </summary>
/// <!-- aidoc:v1 sig=5e39639 -->
/// <summary>
/// Represents an axis line, typically used to model a line associated with a coordinate axis.
/// </summary>
/// <!-- aidoc:v1 sig=5e39639 -->
public class AxisLineStyle
{
public string? Color { get; set; }
@@ -882,6 +924,7 @@ public class AxisLine
/// <summary>
/// Represents a single tick mark on an axis, typically used in charting or graphing scenarios.
/// </summary>
/// <!-- aidoc:v1 sig=51bf334 -->
public class AxisTick
{
public bool? Show { get; set; }
@@ -893,6 +936,7 @@ public class AxisTick
/// <summary>
/// Represents the configuration settings for a chart, defining its visual and behavioral properties.
/// </summary>
/// <!-- aidoc:v1 sig=16a7db6 -->
public class ChartConfig
{
public ObjectId Id { get; set; }
@@ -910,6 +954,7 @@ public class ChartConfig
/// Serves as the base class for configuration types that define settings for a series.
/// Provides a common foundation for derived series configuration implementations.
/// </summary>
/// <!-- aidoc:v1 sig=c855a1e -->
public class SeriesConfigBase
{
public string? Key { get; set; }
@@ -954,6 +999,7 @@ public class SeriesConfigBase
/// <summary>
/// Represents a visual mapping that handles the rendering or display logic for map-related data.
/// </summary>
/// <!-- aidoc:v1 sig=8a60e84 -->
public class VisualMap
{
public bool Show { get; set; } //Mostrar en la leyenda
@@ -965,6 +1011,7 @@ public class VisualMap
/// <summary>
/// Represents a single piece, serving as a general-purpose entity within its containing system.
/// </summary>
/// <!-- aidoc:v1 sig=fda97c7 -->
public class Piece
{
public double? Opacity { get; set; } //Valor de la opacidad
@@ -1044,6 +1091,10 @@ public class Piece
// /// Represents a single <c>candlestick</c> data point, typically used in financial charting to encapsulate price information for a discrete time interval.
// /// </summary>
// /// <!-- aidoc:v1 sig=59009c7 -->
// /// <summary>
// /// Represents a candle, likely encapsulating related data and behavior.
// /// </summary>
// /// <!-- aidoc:v1 sig=59009c7 -->
// public class CandlestickSeriesConfig : SeriesConfigBase
// {
// public List<Candle>? CandleKeyList { get; set; }
@@ -1081,6 +1132,7 @@ public enum CandleValueType
/// <remarks>
/// This class is intended to be inherited by specialized chart configuration types to ensure consistent configuration handling across the charting system.
/// </remarks>
/// <!-- aidoc:v1 sig=b3dbace -->
public class ChartBaseConfig
{
public string? Title { get; set; }
@@ -1101,6 +1153,7 @@ public class ChartBaseConfig
/// <summary>
/// Represents the configuration settings for an axis.
/// </summary>
/// <!-- aidoc:v1 sig=5ac80c1 -->
public class AxisConfig
{
public DisplayConfigEnums.AxisType Type { get; set; }
@@ -1126,6 +1179,7 @@ public class AxisConfig
/// <remarks>
/// This class serves as a base type for specific graph layout strategies and is intended to be used to control the visual or logical arrangement of graph components.
/// </remarks>
/// <!-- aidoc:v1 sig=875c23e -->
public class GraphLayout
{
public string? Layout { get; set; }
@@ -1138,6 +1192,7 @@ public class GraphLayout
/// <summary>
/// Represents a layout configuration for arranging section boxes.
/// </summary>
/// <!-- aidoc:v1 sig=b374a33 -->
public class SectionBoxLayout
{
public DisplayConfigEnums.RowType Type { get; set; }
@@ -1165,6 +1220,7 @@ public class SectionBoxLayout
/// <summary>
/// Represents a configuration class that defines conditions.
/// </summary>
/// <!-- aidoc:v1 sig=66c2309 -->
public class ConditionsConfig
{
public string? Condition { get; set; }
@@ -1174,6 +1230,7 @@ public class ConditionsConfig
/// <summary>
/// Represents a layout manager that arranges child elements in a row-based box configuration.
/// </summary>
/// <!-- aidoc:v1 sig=30e8cdf -->
public class RowBoxLayout
{
public double? GrowPriority { get; set; }
@@ -1191,6 +1248,7 @@ public class RowBoxLayout
/// <summary>
/// Represents a box layout configuration for displaying observation rows.
/// </summary>
/// <!-- aidoc:v1 sig=6dfdcd9 -->
public class ObservationRowBoxLayout
{
public List<ObservationTextRule>? TextRules { get; set; }
@@ -1230,6 +1288,7 @@ public class ObservationRowBoxLayout
/// <summary>
/// Represents a layout that arranges cards with a rotating behavior, likely managing the visual positioning and orientation of card elements within a container.
/// </summary>
/// <!-- aidoc:v1 sig=4cb8ae1 -->
public class CardRotatingLayout
{
// In MS
@@ -1246,6 +1305,7 @@ public class CardRotatingLayout
/// <summary>
/// Represents a rule used to validate or process observation text.
/// </summary>
/// <!-- aidoc:v1 sig=5df013c -->
public class ObservationTextRule
{
public ObservationEnum.ValueType ValueType { get; set; }
@@ -1265,6 +1325,7 @@ public class ObservationTextRule
/// <summary>
/// Represents a configuration object that defines layout settings for a legend.
/// </summary>
/// <!-- aidoc:v1 sig=ef77ebb -->
public class LegendLayoutConfig
{
public List<LegendLayoutRow>? Rows { get; set; }
@@ -1273,6 +1334,7 @@ public class LegendLayoutConfig
/// <summary>
/// Represents a single row within a legend layout, typically used to organize and arrange legend items in a structured, row-based configuration.
/// </summary>
/// <!-- aidoc:v1 sig=b0c9b56 -->
public class LegendLayoutRow
{
public decimal? GrowPriority { get; set; }
@@ -1282,6 +1344,7 @@ public class LegendLayoutRow
/// <summary>
/// Represents a column within a legend layout, defining a vertical arrangement of legend entries or items.
/// </summary>
/// <!-- aidoc:v1 sig=733f2f6 -->
public class LegendLayoutColumn
{
public string? Key { get; set; }
@@ -1292,6 +1355,7 @@ public class LegendLayoutColumn
/// <summary>
/// Represents a label associated with a legend, typically used to describe or identify an entry in a chart, graph, or similar visual component.
/// </summary>
/// <!-- aidoc:v1 sig=3878ffa -->
public class LegendLabel
{
public string? Name { get; set; }