示例#1
0
 public Resultat<Message> CreateMessage(CreateMessageCommand command)
 {
     return Resultat<Message>.SafeExecute<ForumService>(
          result =>
          {
              var message = new Message { Contenu = command.Contenu, CreateurId = command.CreateurId, DateCreation = command.DateCreation, TopicId = command.TopicId };
              context.Messages.AddObject(message);
              context.SaveChanges();
          });
 }
示例#2
0
        public ActionResult Topic(TopicViewModel topicViewModel)
        {
            if (!ModelState.IsValid)
            {
                return Redirect(topicViewModel.Id.ToString());
            }
            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 !
                CreateMessageCommand createMessageCommand = new CreateMessageCommand { Contenu = topicViewModel.MessageNewTopic, TopicId = topicViewModel.Id, DateCreation = DateTime.Now, CreateurId = utilisateurCourant.Valeur.Id };

                var result = ForumService.CreateMessage(createMessageCommand);

                if (result.IsValid)
                {
                    return Redirect(topicViewModel.Id.ToString());//("Topic", new { id = topicViewModel.Id });
                }
                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");
                }
            }
        }