namespace Webzine.Business; using Microsoft.Extensions.Logging; using Webzine.Business.Contracts; using Webzine.Business.Contracts.Dto; using Webzine.Entity; using Webzine.Repository.Contracts; /// /// Implémentation de . /// Orchestre la résolution des styles, la construction de l'entité /// et la délégation au repository. /// public class TitreAdminService : ITitreAdminService { private readonly ITitreRepository titreRepository; private readonly IArtisteRepository artisteRepository; private readonly IStyleRepository styleRepository; private readonly ILogger logger; /// /// Initializes a new instance of the class. /// /// Repository des titres. /// Repository des artistes. /// Repository des styles. /// Service de journalisation. public TitreAdminService( ITitreRepository titreRepository, IArtisteRepository artisteRepository, IStyleRepository styleRepository, ILogger logger) { this.titreRepository = titreRepository; this.artisteRepository = artisteRepository; this.styleRepository = styleRepository; this.logger = logger; } /// public void CreerTitre(TitreAdminDTO commande) { this.logger.LogInformation( "Création d'un nouveau titre '{Libelle}' pour l'artiste ID {IdArtiste}.", commande.Libelle, commande.IdArtiste); Artiste artiste = this.artisteRepository.Find(commande.IdArtiste); List