Files
2026-06-26 10:29:23 +02:00

151 lines
5.3 KiB
C#

using adas_core.Domain.Enums;
using MongoDB.Bson;
namespace adas_core.Domain.Models.MongoModels;
#region HomeConfig
/// <summary>
/// Represents a configuration class for defining the properties and settings of a card.
/// </summary>
/// <remarks>
/// This class is intended to be used as a data container or settings holder for card-related configurations.
/// </remarks>
public class CardConfig
{
public ObjectId Id { get; set; }
public List<RowCardConfig>? Rows { get; set; }
}
/// <summary>
/// Represents configuration settings for a row card component.
/// </summary>
/// <remarks>
/// This type is intended to be used as a data container to define the visual or behavioral properties of a row card.
/// </remarks>
public class RowCardConfig
{
// Dynamic cells de nurse y Dynamic Obs de monitoring
public List<Cell>? Cells { get; set; }
public double? GrowPriority { get; set; }
public DisplayConfigEnums.CellType Type { get; set; }
public string? Border { get; set; }
public string? BorderRadius { get; set; }
public string? Title { get; set; }
public string? Size { get; set; }
public string? MarginTop { get; set; }
public string? MarginBottom { get; set; }
public string? MarginLeft { get; set; }
public string? MarginRight { get; set; }
public string? BgColor { get; set; }
public string? PaddingTop { get; set; }
public string? PaddingBottom { get; set; }
public string? PaddingLeft { get; set; }
public string? PaddingRight { get; set; }
}
/// <summary>
/// Represents a single cell, typically used as an individual unit within a larger structured data model such as a grid, table, or matrix.
/// </summary>
public class Cell
{
public ChartSettings? ChartSettings { get; set; }
public List<ObservationTextRule>? TextRules { get; set; }
public DisplayConfigEnums.CellType Type { get; set; }
public string? SubType { get; set; }
public double? Size { get; set; }
public List<Cell>? SubObs { get; set; }
public bool? HideName { get; set; }
public bool? IsStatic { get; set; }
public double? GrowPriority { get; set; }
public string? Border { get; set; }
public string? BorderRadius { get; set; }
public string? Name { get; set; }
public bool IsVisible { get; set; } = true;
public bool? IsColumn { get; set; }
public string? BgColor { get; set; }
public string? Title { get; set; }
public string? ValuePathNested { get; set; }
public List<string>? ValuePathKey { get; set; }
public List<IconValueList>? IconValueList { get; set; }
public string? PaddingTop { get; set; }
public string? PaddingBottom { get; set; }
public string? PaddingLeft { get; set; }
public string? PaddingRight { get; set; }
public string? Color { get; set; }
public string? BackgroundColor { get; set; }
public bool? ShowIcon { get; set; }
public string? FlexBasis { get; set; }
public string? Grow { get; set; }
public string? Shrink { get; set; }
public bool? ShowTitle { get; set; }
public DialogConfig? DialogConfig { get; set; }
public bool? IndicatorHorizontal { get; set; }
public bool? ShowIndicator { get; set; }
public bool? OnlyNumber { get; set; }
public bool? ShowArrow { get; set; }
public string? GraphConf { get; set; }
public List<string>? Names { get; set; }
public List<string>? ObservationName { get; set; }
public List<List<string>?>? ObservationTitle { get; set; }
public DisplayConfigEnums.DirectionEnum? Direction { get; set; }
}
/// <summary>
/// Represents the configuration settings used to control the appearance and behavior of a chart.
/// </summary>
public class ChartSettings
{
public LegendLayoutConfig? LegendLayoutConfig { get; set; }
public decimal? LegendGrowPriority { get; set; }
public decimal? ChartGrowPriority { get; set; }
}
/// <summary>
/// Represents configuration settings for a dialog, providing a centralized structure to manage dialog-related options and parameters.
/// </summary>
public class DialogConfig
{
public bool? IsDraggable { get; set; }
public MedicalConfig? MedicalConfig { get; set; }
}
/// <summary>
/// Represents a configuration class for medical-related settings and parameters.
/// </summary>
/// <remarks>
/// Serves as a container for medical configuration data, providing a centralized structure to manage and access medical settings within the application.
/// </remarks>
public class MedicalConfig
{
public bool HasFinalizeTime { get; set; }
public bool HasStartTime { get; set; }
}
/// <summary>
/// Represents a list of icon values, providing a collection structure for managing and accessing icon-related data.
/// </summary>
public class IconValueList
{
public double? MinValue { get; set; }
public double? MaxValue { get; set; }
public float? Width { get; set; }
public float? Height { get; set; }
public List<string>? IconList { get; set; }
}
/// <summary>
/// Represents the configuration settings for the home page or home component.
/// </summary>
public class HomeConfig
{
public string? MinColumnSize { get; set; }
public int ColumnsPerBreakpoint { get; set; }
public string? BreakpointSize { get; set; }
public string? CardAspectRatioHeight { get; set; }
public string? CardAspectRatioWidth { get; set; }
}
#endregion