Compare commits
	
		
			2 Commits
		
	
	
		
			d713359512
			...
			e81551e5d1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e81551e5d1 | |||
| 0fcf1146f8 | 
							
								
								
									
										59
									
								
								Inventory/ProductAdapter.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								Inventory/ProductAdapter.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | |||||||
|  | using Core.Blueprint.Mongo; | ||||||
|  | using MongoDB.Bson; | ||||||
|  | using MongoDB.Bson.Serialization.Attributes; | ||||||
|  | using System.Text.Json.Serialization; | ||||||
|  |  | ||||||
|  | namespace Core.Adapters.Lib.Inventory | ||||||
|  | { | ||||||
|  |     /// <summary> | ||||||
|  |     /// Represents the possible statuses of a product. | ||||||
|  |     /// </summary> | ||||||
|  |     public enum ProductStatus | ||||||
|  |     { | ||||||
|  |         Active, | ||||||
|  |         Inactive, | ||||||
|  |         Discontinued | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     [CollectionAttributeName("Product")] | ||||||
|  |     public class ProductAdapter : Document | ||||||
|  |     { | ||||||
|  |         /// <summary> | ||||||
|  |         /// Gets or sets the foreign key to the owning Tenant. | ||||||
|  |         /// </summary> | ||||||
|  |         [BsonElement("tenantId")] | ||||||
|  |         [JsonPropertyName("tenantId")] | ||||||
|  |         public string TenantId { get; set; } = null!; | ||||||
|  |  | ||||||
|  |         /// <summary> | ||||||
|  |         /// Gets or sets the name of the product. | ||||||
|  |         /// </summary> | ||||||
|  |         [BsonElement("productName")] | ||||||
|  |         [JsonPropertyName("productName")] | ||||||
|  |         public string ProductName { get; set; } = null!; | ||||||
|  |  | ||||||
|  |         /// <summary> | ||||||
|  |         /// Gets or sets the description of the product. | ||||||
|  |         /// </summary> | ||||||
|  |         [BsonElement("description")] | ||||||
|  |         [JsonPropertyName("description")] | ||||||
|  |         public string Description { get; set; } = null!; | ||||||
|  |  | ||||||
|  |         /// <summary> | ||||||
|  |         /// Gets or sets the status of the product. Stored as a string in MongoDB. | ||||||
|  |         /// </summary> | ||||||
|  |         [BsonElement("status")] | ||||||
|  |         [JsonPropertyName("status")] | ||||||
|  |         [BsonRepresentation(BsonType.String)] | ||||||
|  |         public ProductStatus Status { get; set; } | ||||||
|  |  | ||||||
|  |         /// <summary> | ||||||
|  |         /// Gets or sets the list of Tag Ids associated with this product. | ||||||
|  |         /// This follows the standard MongoDB practice for many-to-many relationships | ||||||
|  |         /// by embedding an array of references. | ||||||
|  |         /// </summary> | ||||||
|  |         [BsonElement("tagIds")] | ||||||
|  |         [JsonPropertyName("tagIds")] | ||||||
|  |         public List<ObjectId> TagIds { get; set; } = new List<ObjectId>(); | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user