diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs
index 6cda50f..547c654 100644
--- a/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs
+++ b/Webzine.WebApplication/Areas/Administration/Controllers/StylesController.cs
@@ -94,6 +94,7 @@ namespace Webzine.WebApplication.Areas.Administration.Controllers
}
+
// GET: Administration/Styles/Delete/5
public ActionResult Delete(int id)
{
@@ -130,5 +131,55 @@ 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
+ {
+ // TODO : Mettre à jour en base de données ici
+ // var styleDb = _context.Styles.Find(id);
+ // styleDb.Libelle = model.Libelle;
+ // _context.SaveChanges();
+
+ _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/StyleEditViewModel.cs b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleEditViewModel.cs
new file mode 100644
index 0000000..ce12b73
--- /dev/null
+++ b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleEditViewModel.cs
@@ -0,0 +1,27 @@
+//
| # | -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. | |||