Mercurial > altnet-hispano
comparison 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 |
comparison
equal
deleted
inserted
replaced
13:da95298db862 | 14:ed6d842abf42 |
---|---|
1 using System; | 1 using System; |
2 using System.Collections.Generic; | 2 using System.Collections.Generic; |
3 using System.Linq; | |
3 using AltNetHispano.Agendas.Domain.Exceptions; | 4 using AltNetHispano.Agendas.Domain.Exceptions; |
4 | 5 |
5 namespace AltNetHispano.Agendas.Domain | 6 namespace AltNetHispano.Agendas.Domain |
6 { | 7 { |
7 public class Agenda | 8 public class Agenda |
34 if (NoEstaAutenticado(_seguridad)) | 35 if (NoEstaAutenticado(_seguridad)) |
35 throw new UsuarioNoAutenticadoException(); | 36 throw new UsuarioNoAutenticadoException(); |
36 if (string.IsNullOrWhiteSpace(evento.Ponente)) | 37 if (string.IsNullOrWhiteSpace(evento.Ponente)) |
37 throw new ValidationException(); | 38 throw new ValidationException(); |
38 | 39 |
40 //TODO: persistir el evento! | |
41 if (evento.Id==Guid.Empty) evento.Id = Guid.NewGuid(); | |
42 | |
39 _eventosPublicados.Add(evento); | 43 _eventosPublicados.Add(evento); |
40 } | 44 } |
41 | 45 |
42 public void Recordar(Evento evento) | 46 public void Recordar(Evento evento) |
43 { | 47 { |
66 | 70 |
67 private static bool NoEstaAutenticado(ISeguridad seguridad) { | 71 private static bool NoEstaAutenticado(ISeguridad seguridad) { |
68 return seguridad == null || seguridad.GetPrincipal() == null || seguridad.GetPrincipal().Identity == null | 72 return seguridad == null || seguridad.GetPrincipal() == null || seguridad.GetPrincipal().Identity == null |
69 || string.IsNullOrWhiteSpace(seguridad.GetPrincipal().Identity.Name); | 73 || string.IsNullOrWhiteSpace(seguridad.GetPrincipal().Identity.Name); |
70 } | 74 } |
71 } | |
72 | 75 |
73 public class UsuarioNoAutenticadoException : Exception | 76 public void ModificarEvento(Guid id, string titulo, string ponente, DateTime? fecha) |
77 { | |
78 var evento = _eventosPublicados.SingleOrDefault(e => e.Id == id); | |
79 if (evento == null) | |
80 throw new EventoNotFoundException(); | |
81 evento.Titulo = titulo; | |
82 evento.Ponente = ponente; | |
83 evento.Fecha = fecha; | |
84 } | |
85 | |
86 public Evento GetEventoPublicado(Guid id) | |
87 { | |
88 return _eventosPublicados.SingleOrDefault(e => e.Id == id); | |
89 } | |
90 } | |
91 | |
92 public class EventoNotFoundException : Exception | |
93 { | |
94 } | |
95 | |
96 public class UsuarioNoAutenticadoException : Exception | |
74 { | 97 { |
75 } | 98 } |
76 } | 99 } |