Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 14:ed6d842abf42
Modificar evento
author | nelo@MTEySS.neluz.int |
---|---|
date | Sun, 13 Mar 2011 20:49:15 -0300 |
parents | 05996fa19e04 |
children | 08b9e96132a5 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Sun Mar 13 20:24:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Sun Mar 13 20:49:15 2011 -0300 @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using AltNetHispano.Agendas.Domain.Exceptions; namespace AltNetHispano.Agendas.Domain @@ -36,6 +37,9 @@ if (string.IsNullOrWhiteSpace(evento.Ponente)) throw new ValidationException(); + //TODO: persistir el evento! + if (evento.Id==Guid.Empty) evento.Id = Guid.NewGuid(); + _eventosPublicados.Add(evento); } @@ -68,9 +72,28 @@ return seguridad == null || seguridad.GetPrincipal() == null || seguridad.GetPrincipal().Identity == null || string.IsNullOrWhiteSpace(seguridad.GetPrincipal().Identity.Name); } - } + + public void ModificarEvento(Guid id, string titulo, string ponente, DateTime? fecha) + { + var evento = _eventosPublicados.SingleOrDefault(e => e.Id == id); + if (evento == null) + throw new EventoNotFoundException(); + evento.Titulo = titulo; + evento.Ponente = ponente; + evento.Fecha = fecha; + } - public class UsuarioNoAutenticadoException : Exception + public Evento GetEventoPublicado(Guid id) + { + return _eventosPublicados.SingleOrDefault(e => e.Id == id); + } + } + + public class EventoNotFoundException : Exception + { + } + + public class UsuarioNoAutenticadoException : Exception { } } \ No newline at end of file