view Agendas/trunk/src/Agendas.Web/Controllers/ControllerMessageExtensions.cs @ 185:2d02adb79322

Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio. Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio. En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado. Las fechas ingresadas son creadas en sistema UTC Queda pendiente Agregar duración a Google Calendar.
author alabra
date Tue, 09 Aug 2011 01:04:27 -0400
parents 7ef7e4bb71f6
children
line wrap: on
line source

using System;
using System.Web.Mvc;

namespace AltNetHispano.Agendas.Web.Controllers
{
	public static class ControllerMessageExtensions
	{
		public static void AddError(this Controller controller, string mensaje)
		{
			AddMessage(controller, "error", mensaje);
		}

		public static void AddNotification(this Controller controller, string mensaje)
		{
			AddMessage(controller, "notification", mensaje);
		}

		public static void AddWarning(this Controller controller, string mensaje)
		{
			AddMessage(controller, "warning", mensaje);
		}

		#region protected and private members

		private static void AddMessage(Controller controller, string key, string mensaje)
		{
			if (controller == null) throw new ArgumentNullException("controller");
			if (key == null) throw new ArgumentNullException("key");
			if (mensaje == null) throw new ArgumentNullException("mensaje");

			if (mensaje == string.Empty) return;

			var mensajes = mensaje.Contains("\n") ? mensaje.Replace("\r", string.Empty).Split('\n') : new[] {mensaje};

			foreach (var m in mensajes)
			{
				if (controller.TempData.ContainsKey(key))
					controller.TempData[key] += "<br />";
				controller.TempData[key] += m;
			}
		}

		#endregion
	}
}