using System;
namespace Domain
{
///
/// Entité principale de la plateforme, représente un lien publié par l'utilisateur.
///
public class Link
{
public Guid Id { get; }
public string Url { get; }
public DateTime CreatedAt { get; }
public Guid CreatedBy { get; }
public Link(Guid createdBy, string url)
{
Id = Guid.NewGuid();
CreatedAt = DateTime.UtcNow;
Url = url;
CreatedBy = createdBy;
}
///
/// Crée un commentaire pour ce lien. Permet de valider l'existence du lien et
/// potentiellement des règles métier de création plus complexes.
///
///
///
public Comment AddComment(Guid createdBy, string content)
{
return new Comment(this.Id, createdBy, content);
}
}
}