35 lines
879 B
C#
35 lines
879 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 Guid CreatedBy { get; }
|
|
|
|
public Link(Guid createdBy, string url)
|
|
{
|
|
Id = Guid.NewGuid();
|
|
CreatedAt = DateTime.UtcNow;
|
|
Url = url;
|
|
CreatedBy = createdBy;
|
|
}
|
|
|
|
/// <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(Guid createdBy, string content)
|
|
{
|
|
return new Comment(this.Id, createdBy, content);
|
|
}
|
|
}
|
|
}
|