MessagerieController.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using AppliWebANA.Models;
  2. using AppliWebANA.Repositories.Messagerie;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Mvc;
  8. namespace AppliWebANA.Controllers {
  9. public class MessagerieController : Controller {
  10. private MessagerieRepositoryBase _Messagerie;
  11. private MessagerieRepositoryBase Messagerie {
  12. get {
  13. if( _Messagerie == null )
  14. _Messagerie = MessagerieRepositoryBase.Instancier();
  15. return _Messagerie;
  16. }
  17. }
  18. public ActionResult Index() {
  19. if( Utilitaires.UtilisateurCourant == null )
  20. return View( "Connexion" );
  21. ViewBag.UtilisateurCourant = Utilitaires.UtilisateurCourant;
  22. return View( "Index", Messagerie.ListerUtilisateurs() );
  23. }
  24. [HttpPost]
  25. public ActionResult Connexion( string nom ) {
  26. Utilitaires.UtilisateurCourant = nom;
  27. Messagerie.AjouterUtilisateur( nom );
  28. return RedirectToAction( "Index" );
  29. }
  30. public ActionResult Messages() {
  31. if( Utilitaires.UtilisateurCourant == null )
  32. return View( "Connexion" );
  33. ViewBag.UtilisateurCourant = Utilitaires.UtilisateurCourant;
  34. return View( Messagerie.ListerMessages( Utilitaires.UtilisateurCourant ) );
  35. }
  36. [HttpGet]
  37. public ActionResult Ecrire( string id ) {
  38. if( Utilitaires.UtilisateurCourant == null )
  39. return View( "Connexion" );
  40. ViewBag.Destinataire = id;
  41. return View();
  42. }
  43. [HttpPost]
  44. public ActionResult Ecrire( string id, Message nv ) {
  45. if( Utilitaires.UtilisateurCourant == null )
  46. return View( "Connexion" );
  47. nv.Expediteur = Utilitaires.UtilisateurCourant;
  48. Messagerie.Envoyer( id, nv );
  49. return Index();
  50. }
  51. protected override void Dispose( bool disposing ) {
  52. if( _Messagerie != null )
  53. _Messagerie.Dispose( true );
  54. base.Dispose( disposing );
  55. }
  56. }
  57. }