hn-20-2/Domain/Link.cs

33 lines
772 B
C#

using System;
namespace Domain
{
/// <summary>
/// Entité principale de la plateforme, représente un lien publié par l'utilisateur.
/// </summary>
public class Link
{
public Guid Id { get; }
public string Url { get; }
public DateTime CreatedAt { get; }
public Link(string url)
{
Id = Guid.NewGuid();
CreatedAt = DateTime.UtcNow;
Url = url;
}
/// <summary>
/// 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.
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
public Comment AddComment(string content)
{
return new Comment(this.Id, content);
}
}
}