namespace Journal.Core.Models; public class ListDocument { public Guid Id { get; } public string Label { get; set; } public string Content { get; set; } public DateTimeOffset CreatedAt { get; set; } public DateTimeOffset UpdatedAt { get; set; } public ListDocument(string label, string content = "") { Validate(label); Id = Guid.NewGuid(); Label = label.Trim(); Content = content; CreatedAt = DateTimeOffset.Now; UpdatedAt = CreatedAt; } public ListDocument(Guid id, string label, string content, DateTimeOffset createdAt, DateTimeOffset updatedAt) { if (id == Guid.Empty) throw new ArgumentException("Id is required", nameof(id)); Validate(label); Id = id; Label = label.Trim(); Content = content; CreatedAt = createdAt; UpdatedAt = updatedAt; } private static void Validate(string label) { if (string.IsNullOrWhiteSpace(label)) throw new ArgumentException("Label is required", nameof(label)); } }