diff --git a/Webzine.Documentation/Rapport/equipe 1 - rapport.md b/Webzine.Documentation/Rapport/equipe 1 - rapport.md
index 0912423..76f195f 100644
--- a/Webzine.Documentation/Rapport/equipe 1 - rapport.md
+++ b/Webzine.Documentation/Rapport/equipe 1 - rapport.md
@@ -17,4 +17,5 @@
06/03 :
- Récupération des modifications depuis 'dev'
- Ajout des redirections vers les pages 'Administration'
-- Adaptation du layout principal pour adaptation entre public et administration
\ No newline at end of file
+- Adaptation du layout principal pour adaptation entre public et administration
+- Ajout du Footer (sur toutes les pages)
\ No newline at end of file
diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs
index e044b81..0f4be27 100644
--- a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs
+++ b/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs
@@ -64,6 +64,36 @@ 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)
@@ -101,5 +131,50 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
return View(model);
}
}
+
+ // GET: Administration/Styles/Edit/5
+ [HttpGet]
+ public ActionResult Edit(int id)
+ {
+ // Recherche du style (simulation avec la liste _styles)
+ var style = _styles.FirstOrDefault(s => s.IdStyle == id);
+
+ if (style == null)
+ {
+ return NotFound();
+ }
+
+ // Mapping vers le ViewModel
+ var model = new StyleEditViewModel
+ {
+ IdStyle = style.IdStyle,
+ Libelle = style.Libelle
+ };
+
+ return View(model);
+ }
+
+ // POST: Administration/Styles/Edit/5
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public ActionResult Edit(int id, StyleEditViewModel model)
+ {
+ if (!ModelState.IsValid)
+ {
+ return View(model);
+ }
+
+ try
+ {
+ _logger.LogInformation("Style {Id} mis Ă jour : {Libelle}", id, model.Libelle);
+ return RedirectToAction(nameof(Index));
+ }
+ catch (Exception e)
+ {
+ _logger.LogError(e, "Erreur lors de la modification du style {Id}", id);
+ ModelState.AddModelError("", "Une erreur est survenue lors de la modification.");
+ return View(model);
+ }
+ }
}
-}
\ No newline at end of file
+}
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 @@
+//
| # | -Libellé | -Actions | +Libellé | +Actions |
|---|---|---|---|---|
| - @style.IdStyle - | -+ | @style.Libelle | -- @* Bouton Supprimer (correspond Ă votre action Delete) *@ - + | + + + + | @@ -46,7 +46,7 @@ else {
| Aucun style disponible. | +Aucun style disponible. | |||