public ActionResult Categorie(IList<CategorieViewModel> categorieViewModel) { if (!ModelState.IsValid) { return Redirect("Index"); } else { //On récupère l'utilisateur courant var pseudo = UtilisateurService.GetUtilisateurCourantPseudo().Valeur; var utilisateurCourant = UtilisateurService.GetEntityByPseudo(pseudo); // On crée la commande // A l'ancienne cousin ! var createCategorieCommand = new CreateCategorieCommand { CreateurId = utilisateurCourant.Valeur.Id, DateCreation = DateTime.Now, Nom = categorieViewModel[0].TitreNewCategorie }; var result = ForumService.CreateCategorie(createCategorieCommand); if (result.IsValid) { return Redirect("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<Categorie> CreateCategorie(CreateCategorieCommand command) { return Resultat<Categorie>.SafeExecute<ForumService>( result => { var categorie = new Categorie { Nom = command.Nom, CreateurId = command.CreateurId, DateCreation = command.DateCreation }; context.Categories.AddObject(categorie); context.SaveChanges(); }); }