using adas_core.Domain.Enums;
using MongoDB.Bson;

namespace adas_core.Domain.Models.MongoModels;

/// <summary>
/// Represents the configuration settings for a Proof of Concept (PoC) implementation.
/// </summary>
/// <remarks>
/// This class serves as a container for configuration values used during proof-of-concept development and testing phases.
/// </remarks>
public class PoCSettings
{
    public ObjectId Id { get; set; }

    public PatientLocation? PatientLocation { get; set; }

    public RelayEnum.Status? ManualRelayStatus { get; set; }

    /// <summary>
    /// Returns a string representation of the object, always including the Id, and conditionally appending the PatientLocation and Relay Manual Status when those values are not null.
    /// </summary>
    /// <returns>A string containing the Id and, when available, the PatientLocation and Manual Relay Status information.</returns>
    public override string ToString()
        {
            var result = "Id: " + Id;
    
            if (PatientLocation != null) result += PatientLocation.ToString();
            if (ManualRelayStatus != null) result += "Relay Manual Status: " + ManualRelayStatus;
    
    
            return result;
        }
}