2021-12-13 14:05:59 +01:00

33 lines
728 B
C#

using System.ComponentModel.DataAnnotations;
using HackerNet.Domain;
namespace HackerNet.Application;
public class LinkService
{
private readonly ILinkRepository _repository;
public LinkService(ILinkRepository repository)
{
_repository = repository;
}
public Guid PublishLink(PublishLinkCommand cmd)
{
var link = new Link(cmd.Url, cmd.Description);
_repository.Add(link);
return link.Id;
}
}
public class PublishLinkCommand
{
[Required(ErrorMessage = "L'url est requise")]
[Display(Name = "Url du site")]
[Url]
public string Url { get; set; }
[Required(ErrorMessage = "La description est obligatoire")]
public string Description { get; set; }
}