J'ai mis en place une couche de service dans mon application comme: http://www.asp.net/learn/mvc/tutorial-38-cs.aspxValidation avec une couche de service, comment mettre à jour une entité
(j'utilise Linq2SQL). Maintenant j'ai du mal à implémenter l'Edit ActionResult. Dans le CreateResult Create (Post), je prends la méthode de service:
if (_service.CreateMovie(movie))
{
return RedirectToAction("Details", new { id = movie.ID });
}
else
{
return View(movie);
}
C'est bon. Maintenant, mon problème dans l'Edit ActionResult est: comment puis-je implémenter la mise à jour d'une entité?
Dans le référentiel je suit la méthode de mise à jour:
public bool UpdateMovie(Film movieToUpdate)
{
try
{
_db.SubmitChanges();
return true;
}
catch
{
return false;
}
}
Le service appelle alors le référentiel. Mais les modifications apportées dans le formulaire ne sont pas "envoyées" au modèle, donc l'entité n'a pas été mise à jour par les nouvelles valeurs.
Je pourrais appeler "UpdateModel" dans le contrôleur, mais je dois aussi appeler le Validate dans le Service. Mais alors la logique de validation n'est plus dans le service que dans le contrôleur.
J'espère que vous comprenez ma question.