using AppliWebANA.Models; using AppliWebANA.Repositories.Messagerie; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace AppliWebANA.Controllers { public class MessagerieController : Controller { private MessagerieRepositoryBase _Messagerie; private MessagerieRepositoryBase Messagerie { get { if( _Messagerie == null ) _Messagerie = MessagerieRepositoryBase.Instancier(); return _Messagerie; } } public ActionResult Index() { if( Utilitaires.UtilisateurCourant == null ) return View( "Connexion" ); ViewBag.UtilisateurCourant = Utilitaires.UtilisateurCourant; return View( "Index", Messagerie.ListerUtilisateurs() ); } [HttpPost] public ActionResult Connexion( string nom ) { Utilitaires.UtilisateurCourant = nom; Messagerie.AjouterUtilisateur( nom ); return RedirectToAction( "Index" ); } public ActionResult Messages() { if( Utilitaires.UtilisateurCourant == null ) return View( "Connexion" ); ViewBag.UtilisateurCourant = Utilitaires.UtilisateurCourant; return View( Messagerie.ListerMessages( Utilitaires.UtilisateurCourant ) ); } [HttpGet] public ActionResult Ecrire( string id ) { if( Utilitaires.UtilisateurCourant == null ) return View( "Connexion" ); ViewBag.Destinataire = id; return View(); } [HttpPost] public ActionResult Ecrire( string id, Message nv ) { if( Utilitaires.UtilisateurCourant == null ) return View( "Connexion" ); nv.Expediteur = Utilitaires.UtilisateurCourant; Messagerie.Envoyer( id, nv ); return Index(); } protected override void Dispose( bool disposing ) { if( _Messagerie != null ) _Messagerie.Dispose( true ); base.Dispose( disposing ); } } }