Files
Core.Adapters.Lib/Inventory/FurnitureBase.cs
2025-09-03 10:42:42 -06:00

62 lines
1.8 KiB
C#

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<string> 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; }
}
}