public ActionResult Index(ArticleViewModel articleViewModel) { if (!ModelState.IsValid) { return RedirectToAction("Index"); } else { //on récupère l'utilisateurCourant var pseudoUtilisateurCourant = UtilisateurService.GetUtilisateurCourantPseudo(); var utilisateurCourant = UtilisateurService.GetEntityByPseudo(pseudoUtilisateurCourant.Valeur); var createArticleCommand = new CreateArticleCommand { Contenu = articleViewModel.Contenu, Date = DateTime.Now, Titre = articleViewModel.Titre, TypeArticleId = articleViewModel.TypeArticleId, EmployeId = utilisateurCourant.Valeur.Id }; var result = ArticlService.CreateArticle(createArticleCommand); if (result.IsValid) { TempData["Message"] = "L article a ete cree avec succes !"; return RedirectToAction("Index"); } else { //Pour les dev foreach (var erreur in result.Erreurs) { ModelState.AddModelError(erreur.ExecutionException.Source, erreur.ExecutionException); } //Pour les gens (affiche la page error.cshtml throw new Exception("Erreur inattendue dans l'application"); } } }
public Resultat<Article> CreateArticle(CreateArticleCommand command) { return Resultat<Article>.SafeExecute<ArticleService>( result => { var article = new Article { TypeArticleId=command.TypeArticleId, Contenu=command.Contenu, Date=DateTime.Now, EmployeId=command.EmployeId, Titre=command.Titre}; context.Articles.AddObject(article); context.SaveChanges(); }); }