changeset 82:c8897b1c6f49

Manejo de excepciones en sitio web
author nelopauselli
date Tue, 24 May 2011 19:31:10 -0300
parents c76661cff260
children 7e9ffde4022d
files Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs Agendas/trunk/src/Agendas.Web/Views/Shared/Error.cshtml Agendas/trunk/src/Agendas.Web/Web.config
diffstat 5 files changed, 32 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Tue May 24 19:21:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Tue May 24 19:31:10 2011 -0300
@@ -39,9 +39,9 @@
 			return _eventosRepository.GetEventosConFecha() ?? new List<Evento>();
 		}
 
-		public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion)
+		public Resultado ModificarEvento(Guid eventoId, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion)
 		{
-			Evento evento = GetEvento(id);
+			Evento evento = GetEvento(eventoId);
 
 			Ponente ponente = null;
 			if (!string.IsNullOrWhiteSpace(ponenteNombre))
--- a/Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs	Tue May 24 19:21:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs	Tue May 24 19:31:10 2011 -0300
@@ -49,22 +49,18 @@
 		{
 			var agenda = AgendaFactory.GetAgenda();
 			var evento = agenda.GetEvento(new Guid(id));
-			if (evento!=null)
-			{
-				var model = new EventoEditModel
-				            	{
-				            		Id = id,
-				            		Titulo = evento.Titulo,
-				            		Ponente = evento.Ponente != null ? evento.Ponente.Nombre : string.Empty,
-				            		Fecha = evento.Fecha
-				            	};
-				return View(model);
-			}
-			ModelState.AddModelError("error","No se encontró el evento que quiere modificar");
-			return View();
+			
+			var model = new EventoEditModel
+			            	{
+			            		Id = id,
+			            		Titulo = evento.Titulo,
+			            		Ponente = evento.Ponente != null ? evento.Ponente.Nombre : string.Empty,
+			            		Fecha = evento.Fecha
+			            	};
+			return View(model);
 		}
 
-		[HttpPost]
+    	[HttpPost]
 		[Authorize]
 		public ActionResult Edit(EventoEditModel model)
 		{
--- a/Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs	Tue May 24 19:21:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs	Tue May 24 19:31:10 2011 -0300
@@ -54,19 +54,15 @@
 		{
 			var agenda = AgendaFactory.GetAgenda();
 			var propuesta = agenda.GetEvento(new Guid(id));
-			if (propuesta != null)
-			{
-				var model = new PropuestaEditModel
-				            	{
-				            		Id = id,
-				            		Titulo = propuesta.Titulo,
-				            		Ponente = propuesta.Ponente != null ? propuesta.Ponente.Nombre : string.Empty,
-									UrlInvitacion = propuesta.UrlInvitacion
-				            	};
-				return View(model);
-			}
-			ModelState.AddModelError("error", "No se encontró el Propuesta que quiere modificar");
-			return View();
+
+			var model = new PropuestaEditModel
+			            	{
+			            		Id = id,
+			            		Titulo = propuesta.Titulo,
+			            		Ponente = propuesta.Ponente != null ? propuesta.Ponente.Nombre : string.Empty,
+			            		UrlInvitacion = propuesta.UrlInvitacion
+			            	};
+			return View(model);
 		}
 
 		[HttpPost]
--- a/Agendas/trunk/src/Agendas.Web/Views/Shared/Error.cshtml	Tue May 24 19:21:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Views/Shared/Error.cshtml	Tue May 24 19:31:10 2011 -0300
@@ -1,6 +1,13 @@
 @model System.Web.Mvc.HandleErrorInfo
+@using AltNetHispano.Agendas.Domain.Exceptions;
+
 <h2>Error</h2>
 
-<h2>
-    Sorry, an error occurred while processing your request.
-</h2>
+@if (Model.Exception is EventoNotFoundException)
+ {
+	<p>No se puede encontrar el evento al que está intentado acceder</p>
+ }
+ else
+ {
+    <p>Sorry, an error occurred while processing your request.</p>
+ }
--- a/Agendas/trunk/src/Agendas.Web/Web.config	Tue May 24 19:21:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Web.config	Tue May 24 19:31:10 2011 -0300
@@ -19,6 +19,7 @@
 	</appSettings>
 
 	<system.web>
+		<customErrors mode="On"/>
 		<compilation debug="true" targetFramework="4.0">
 			<assemblies>
 				<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />