diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs index e044b81..6cda50f 100644 --- a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs +++ b/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs @@ -64,6 +64,35 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers return View(viewModel); } + // GET: Administration/Styles/Create + public ActionResult Create() + { + return View(); + } + + // POST: Administration/Styles/Create + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult Create(StyleCreateViewModel model) + { + if (!ModelState.IsValid) + { + return View(model); + } + + try + { + _logger.LogInformation("Nouveau style créé : {Libelle}", model.Libelle); + return RedirectToAction(nameof(Index)); + } + catch (Exception e) + { + _logger.LogError(e, "Erreur lors de la création du style"); + ModelState.AddModelError("", "Une erreur est survenue lors de la création."); + return View(model); + } + } + // GET: Administration/Styles/Delete/5 public ActionResult Delete(int id) diff --git a/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleCreateViewModel.cs b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleCreateViewModel.cs new file mode 100644 index 0000000..53cfe1e --- /dev/null +++ b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleCreateViewModel.cs @@ -0,0 +1,20 @@ +// +// Copyright (c) Webzine. Tout droit réservé. +// + + +namespace Webzine.WebApplication.Areas.Administration.ViewModels.Style +{ + /// + /// ViewModel pour la création d'un style en administration. + /// + + public class StyleCreateViewModel + { + /// + /// Obtient ou définit le libellé du style. + /// + + public string Libelle { get; set; } + } +} diff --git a/Webzine.WebApplication/Areas/Administration/Views/Styles/Create.cshtml b/Webzine.WebApplication/Areas/Administration/Views/Styles/Create.cshtml new file mode 100644 index 0000000..0ac8105 --- /dev/null +++ b/Webzine.WebApplication/Areas/Administration/Views/Styles/Create.cshtml @@ -0,0 +1,46 @@ +@model Webzine.WebApplication.Areas.Administration.ViewModels.Style.StyleCreateViewModel + +@{ + ViewData["Title"] = "Créer un style"; +} + +
+

Créer un style

+
+ +
+ + @* Utilisation de d-flex pour aligner les éléments sur une ligne *@ +
+ + @* Label *@ +
+ +
+ + @* Input *@ +
+ +
+ + @* Bouton *@ +
+ +
+
+ + @* Zone d'erreur en dessous *@ +
+ +
+ +
+ +
+ Retour à l'administration des styles +
+
+ +