using Core.Blueprint.Mongo; using MongoDB.Bson.Serialization.Attributes; using System.Text.Json.Serialization; namespace Core.Adapters.Lib { [CollectionAttributeName("Furniture")] public class FurnitureBase : Document { [BsonElement("modelName")] [JsonPropertyName("modelName")] public string ModelName { get; set; } = null!; [BsonElement("material")] [JsonPropertyName("material")] public string Material { get; set; } = null!; [BsonElement("condition")] [JsonPropertyName("condition")] public string Condition { get; set; } = null!; [BsonElement("dimensions")] [JsonPropertyName("dimensions")] public Dimensions Dimensions { get; set; } = null!; [BsonElement("baseDescription")] [JsonPropertyName("baseDescription")] public string BaseDescription { get; set; } = null!; [BsonElement("representation")] [JsonPropertyName("representation")] public string Representation { get; set; } = null!; [BsonElement("maintenanceNotes")] [JsonPropertyName("maintenanceNotes")] public string MaintenanceNotes { get; set; } = null!; [BsonElement("variantIds")] [JsonPropertyName("variantIds")] public List VariantIds { get; set; } = new(); [BsonElement("icon")] [JsonPropertyName("icon")] public string Icon { get; set; } = null!; } public class Dimensions { [BsonElement("width")] [JsonPropertyName("width")] public float Width { get; set; } [BsonElement("height")] [JsonPropertyName("height")] public float Height { get; set; } [BsonElement("depth")] [JsonPropertyName("depth")] public float Depth { get; set; } } }