comparison Agendas/trunk/src/Agendas.Web/Controllers/ControllerMessageExtensions.cs @ 117:7ef7e4bb71f6

manejo de mensajes al usuario
author Nelo@Kenia.neluz.int
date Sun, 19 Jun 2011 13:35:34 -0300
parents
children
comparison
equal deleted inserted replaced
116:53bcd338542b 117:7ef7e4bb71f6
1 using System;
2 using System.Web.Mvc;
3
4 namespace AltNetHispano.Agendas.Web.Controllers
5 {
6 public static class ControllerMessageExtensions
7 {
8 public static void AddError(this Controller controller, string mensaje)
9 {
10 AddMessage(controller, "error", mensaje);
11 }
12
13 public static void AddNotification(this Controller controller, string mensaje)
14 {
15 AddMessage(controller, "notification", mensaje);
16 }
17
18 public static void AddWarning(this Controller controller, string mensaje)
19 {
20 AddMessage(controller, "warning", mensaje);
21 }
22
23 #region protected and private members
24
25 private static void AddMessage(Controller controller, string key, string mensaje)
26 {
27 if (controller == null) throw new ArgumentNullException("controller");
28 if (key == null) throw new ArgumentNullException("key");
29 if (mensaje == null) throw new ArgumentNullException("mensaje");
30
31 if (mensaje == string.Empty) return;
32
33 var mensajes = mensaje.Contains("\n") ? mensaje.Replace("\r", string.Empty).Split('\n') : new[] {mensaje};
34
35 foreach (var m in mensajes)
36 {
37 if (controller.TempData.ContainsKey(key))
38 controller.TempData[key] += "<br />";
39 controller.TempData[key] += m;
40 }
41 }
42
43 #endregion
44 }
45 }