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 @@
+//