diff --git a/Webzine.WebApplication/Controllers/Admin/Titre2Controller.cs b/Webzine.WebApplication/Areas/Admin/Controllers/TitreController.cs similarity index 92% rename from Webzine.WebApplication/Controllers/Admin/Titre2Controller.cs rename to Webzine.WebApplication/Areas/Admin/Controllers/TitreController.cs index add99b0..ccca532 100644 --- a/Webzine.WebApplication/Controllers/Admin/Titre2Controller.cs +++ b/Webzine.WebApplication/Areas/Admin/Controllers/TitreController.cs @@ -4,22 +4,22 @@ using Webzine.Entity; using Webzine.Entity.Fixtures; using Webzine.WebApplication.ViewModels.Admin.Titre; -namespace Webzine.WebApplication.Controllers.Admin; +namespace Webzine.WebApplication.Areas.Admin.Controllers; -public class Titre2Controller : Controller +public class TitreController : Microsoft.AspNetCore.Mvc.Controller { - private readonly ILogger _logger; + private readonly ILogger _logger; private readonly List _titres; private readonly List + +

Commentaires

+ +
+ + + + + + + + + + + + @foreach (Webzine.Entity.Commentaire commentaire in Model.Commentaires) + { + + + + + + + + } + +
TitreAuteurCommentaireDate de créationActions
+ + @(commentaire.Titre != null ? commentaire.Titre.Libelle : "Titre inconnu") + + + @commentaire.Auteur + + @commentaire.Contenu + + @commentaire.DateCreation.ToString("dd/MM/yyyy HH:mm:ss") + + +
+ @Html.AntiForgeryToken() + +
+
+
diff --git a/Webzine.WebApplication/Areas/Admin/Views/Shared/_Layout.cshtml b/Webzine.WebApplication/Areas/Admin/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..d22a349 --- /dev/null +++ b/Webzine.WebApplication/Areas/Admin/Views/Shared/_Layout.cshtml @@ -0,0 +1,27 @@ + + + + + + @ViewData["Title"] - Webzine + + @* Ajout de bootstrap *@ + + + + + @* Ajout de font-awesome *@ + + + +
+ @await Html.PartialAsync("_Header") +
+
+ @RenderBody() +
+ @await Html.PartialAsync("_Sidebar") +
+
+ + \ No newline at end of file diff --git a/Webzine.WebApplication/Controller/AccueilController.cs b/Webzine.WebApplication/Controllers/AccueilController.cs similarity index 96% rename from Webzine.WebApplication/Controller/AccueilController.cs rename to Webzine.WebApplication/Controllers/AccueilController.cs index 8841759..32e2e49 100644 --- a/Webzine.WebApplication/Controller/AccueilController.cs +++ b/Webzine.WebApplication/Controllers/AccueilController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Mvc; namespace Webzine.WebApplication.Controllers { - public class AccueilController : Microsoft.AspNetCore.Mvc.Controller + public class AccueilController : Controller { // GET: AccueilController public ActionResult Index() diff --git a/Webzine.WebApplication/Controller/ApiController.cs b/Webzine.WebApplication/Controllers/ApiController.cs similarity index 93% rename from Webzine.WebApplication/Controller/ApiController.cs rename to Webzine.WebApplication/Controllers/ApiController.cs index 70d2c51..39e8825 100644 --- a/Webzine.WebApplication/Controller/ApiController.cs +++ b/Webzine.WebApplication/Controllers/ApiController.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Mvc; -namespace Webzine.WebApplication.Controller; +namespace Webzine.WebApplication.Controllers; public class ApiController : ControllerBase { diff --git a/Webzine.WebApplication/Controller/TitreController.cs b/Webzine.WebApplication/Controllers/TitreController.cs similarity index 98% rename from Webzine.WebApplication/Controller/TitreController.cs rename to Webzine.WebApplication/Controllers/TitreController.cs index 42693d4..9ea5db5 100644 --- a/Webzine.WebApplication/Controller/TitreController.cs +++ b/Webzine.WebApplication/Controllers/TitreController.cs @@ -3,7 +3,7 @@ using Webzine.Entity; using Webzine.Entity.Fixtures; using Webzine.WebApplication.ViewsModels.Titre; -namespace Webzine.WebApplication.Controller; +namespace Webzine.WebApplication.Controllers; /// /// Contrôleur responsable de la gestion des titres musicaux : @@ -11,7 +11,7 @@ namespace Webzine.WebApplication.Controller; /// ajout de likes et commentaires. /// [Route("titre")] -public class TitreController : Microsoft.AspNetCore.Mvc.Controller +public class TitreController : Controller { private readonly ILogger _logger; private readonly List _titres; diff --git a/Webzine.WebApplication/Program.cs b/Webzine.WebApplication/Program.cs index aec5da5..3d66574 100644 --- a/Webzine.WebApplication/Program.cs +++ b/Webzine.WebApplication/Program.cs @@ -30,6 +30,12 @@ try // Active le middleware permettant le routage des requétes entrantes. app.UseRouting(); + + // Ajoute une route pour les zones (Areas) comme Admin + app.MapControllerRoute( + name: "areas", + pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}"); + // Ajoute un endpoint permettant de router les urls // avec la forme /controller/action/id(optionnel). app.MapControllerRoute( diff --git a/Webzine.WebApplication/ViewModels/CommentaireViewModel.cs b/Webzine.WebApplication/ViewModels/CommentaireViewModel.cs new file mode 100644 index 0000000..cbd09da --- /dev/null +++ b/Webzine.WebApplication/ViewModels/CommentaireViewModel.cs @@ -0,0 +1,19 @@ +// +// Copyright (c) Webzine. All rights reserved. +// + +using Webzine.Entity; + +namespace Webzine.WebApplication.ViewModels +{ + /// + /// ViewModel pour afficher la liste des commentaires en administration. + /// + public class CommentaireViewModel + { + /// + /// Obtient ou définit la liste des commentaires. + /// + public IEnumerable Commentaires { get; set; } = new List(); + } +} \ No newline at end of file diff --git a/Webzine.WebApplication/Webzine.WebApplication.csproj b/Webzine.WebApplication/Webzine.WebApplication.csproj index 66802fe..beb6c15 100644 --- a/Webzine.WebApplication/Webzine.WebApplication.csproj +++ b/Webzine.WebApplication/Webzine.WebApplication.csproj @@ -7,13 +7,6 @@ Linux - - - - - - - .dockerignore @@ -25,13 +18,14 @@ + - + all @@ -40,8 +34,7 @@ - - +