# HG changeset patch # User nelopauselli # Date 1306276270 10800 # Node ID c8897b1c6f49aedcfd76a68fb7269ac7b500dc27 # Parent c76661cff260b57f170ea238483fc4ef5ba7efdf Manejo de excepciones en sitio web diff -r c76661cff260 -r c8897b1c6f49 Agendas/trunk/src/Agendas.Domain/Agenda.cs --- 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(); } - 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)) diff -r c76661cff260 -r c8897b1c6f49 Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs --- 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) { diff -r c76661cff260 -r c8897b1c6f49 Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs --- 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] diff -r c76661cff260 -r c8897b1c6f49 Agendas/trunk/src/Agendas.Web/Views/Shared/Error.cshtml --- 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; +

Error

-

- Sorry, an error occurred while processing your request. -

+@if (Model.Exception is EventoNotFoundException) + { +

No se puede encontrar el evento al que está intentado acceder

+ } + else + { +

Sorry, an error occurred while processing your request.

+ } diff -r c76661cff260 -r c8897b1c6f49 Agendas/trunk/src/Agendas.Web/Web.config --- 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 @@ +